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>