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]:
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>());
}
}