Pregunta

¿Cómo utilizar el Castillo WcfFacility y tienen que utilizar la configuración del archivo de configuración estándar WCF?

Si me registro, así:

container.Register(
AllTypes.Pick()
    .FromAssemblyNamed("{ServicesAssembly}") // <-- service assembly here
    .If(type => type.Name.EndsWith("Service"))
    .WithService.FirstInterface()
    .Configure(configurer => configurer.LifeStyle.Transient)
    .Configure(configurer => configurer.Named(configurer.Implementation.Name))
    .Configure(configurer => configurer.ActAs(new DefaultServiceModel()))
);

recibo el siguiente error:

Servicio '{nombre}' tiene aplicación cero (no infraestructuras) puntos finales.

Si dejo apagado:

.Configure(configurer => configurer.ActAs(new DefaultServiceModel()))

parece como si los comportamientos en la configuración se ignoran.

¿Cuál es el uso correcto aquí?

¿Fue útil?

Solución

OK, lo descubrió:)

Cómo registro, así:

container.Register(
AllTypes.Pick()
    .FromAssemblyNamed("{ServicesAssembly}") // <-- service assembly here
    .If(type => type.Name.EndsWith("Service"))
    .WithService.FirstInterface()
    .Configure(configurer => configurer.LifeStyle.Transient)
    .Configure(configurer => configurer.Named(configurer.Implementation.Name))
    .Configure(configurer => configurer.ActAs(new DefaultServiceModel().Hosted()))
);

La Alojado () está ahí para indicar que Estoy recibiendo los servicios; lo demás es parece como si el MFA tratará de alojarlas, dando lugar a conflictos de puerto.

Así que el problema era que el nombre del servicio en el archivo de configuración tiene que es el nombre de tipo completo de la aplicación. Si no se recibe un error que indica algo en la línea de puntos finales no definidos. Por lo que el nombre del servicio es no el mismo que el nombre especificado en Windsor.

Otros consejos

Ya casi ha terminado.

Esto es necesario:

.ActAs(new DefaultClientModel(WcfEndpoint.FromConfiguration( <<key In Configuration>> )));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top