Biblioteka usług WCF hostowana jako usługa Windows za pomocą wydania Castle.Windsor 3.0

Chcę hostować moją bibliotekę usług WCF w usłudze Windows. Chociaż będzie komunikować się z inną usługą wcfservice w sieci lokalnej.

Mam duże trudności ze znalezieniem aktualnej, aktualnej dokumentacji lub pomocy w skonfigurowaniu rozwiązania do tego celu. Czy ktoś może doradzić:

a) Jaki jest preferowany punkt końcowy dla tego rodzaju połączenia? (Inna usługa WCF jest obsługiwana przy użyciu basicHttpBinding) - to samo w sobie nadaje się do skonfigurowania kontenera Castle poprzez przejęcie kontroli nad global.asax. Jednak hosting tego rozwiązania w usłudze Windows oznacza, że ​​nie mam już dostępu do global.asax!

b) Jak skonfigurować Castle Windsor do używania DI z tym rozwiązaniem? Obecnie zajrzałem do zaczepienia go w metodzie AppInitilize () App_Code i kilku innych, już nieaktualnych rozwiązaniach.

Aktualna architektura rozwiązania:

* Rdzeń (biblioteka klasy C #)

* Usługi (biblioteka klasy C #)

* Usługi WCF (Biblioteka usług WCF)

* Usługa Windows (Windows Service Project)

Przykładowy kod dla AppInitilize () [który obecnie nie działa]:

<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>

questionAnswers(1)

yourAnswerToTheQuestion