La biblioteca de servicios WCF alojada como un servicio de Windows usando el problema Castle.Windsor 3.0

Estoy deseando alojar mi biblioteca de servicios WCF en un servicio de Windows. Aunque se comunicará con otro wcfservice a través de una red local.

Tengo muchas dificultades para encontrar documentación reciente y actualizada o ayuda para configurar la solución para este propósito. ¿Alguien puede aconsejar:

a) ¿Cuál es el punto final preferido para este tipo de conexión? (El otro servicio WCF está alojado usando un enlace BasicHttp) - esto en sí mismo se presta para configurar el contenedor Castle a través del secuestro de global.asax. Sin embargo, alojar esta solución en un servicio de Windows significa que ya no tengo acceso a global.asax.

b) ¿Cómo configurar Castle Windsor para usar DI con esta solución? Actualmente he investigado cómo conectarlo al método AppInitilize () de App_Code, y algunas otras soluciones que ya no son válidas.

Arquitectura actual de la solución:

* Core (C # Class Library)

* Servicios (C # Class Library)

* WCF Servics (WCF Service Library)

* Servicio de Windows (Proyecto de Servicio de Windows)

Código de ejemplo para AppInitilize () [que actualmente no parece estar funcionando]:

<code>public class WindsorConfiguration
    {
        public static IWindsorContainer Container { get; private set; }

        public static void AppInitialize()
        {
            {
                Container = new WindsorContainer()
                    .AddFacility<WcfFacility>()
                    .Register(Component.For<IVirusCheckService>().ImplementedBy<VirusCheckService>()
                                  .LifeStyle.Transient
                                  .AsWcfService(new DefaultServiceModel()
                                                    .AddBaseAddresses("http://localhost:8080/MyService")
                                                    .AddEndpoints(WcfEndpoint.BoundTo(new BasicHttpBinding())
                                                                      .At("basic"))
                                                    .PublishMetadata(o => o.EnableHttpGet())))
                    .Register(Component.For<ILoggingService>().ImplementedBy<LoggingService>());
            }
        }
</code>

Respuestas a la pregunta(1)

Su respuesta a la pregunta