Ponieważ obecnie uczę się korzystać z usług WCF, nieustannie napotykam samouczki w Internecie, które wspominają o korzystaniu z usługi ServiceHost
podczas korzystania z usługi WCF.WCF: Co to jest ServiceHost?
Czym dokładnie jest ta ServiceHost
?
W moim obecnym projekcie używam usługi WCF i mające odniesienie do niego z mojej aplikacji i kiedy chcę, aby spożywać go z mojej aplikacji po prostu instancję Jego ServiceClient
jak takie:
new MusicRepo_DBAccess_ServiceClient(new InstanceContext(instanceContext), customBinding, endpointAddress);
i wtedy dostęp do moich metod internetowych (OperationContract
y) tej instancji (oczywiście otwierając go przed czasochłonne metody i zamykania go potem z Open
i Close
)
My Usługa WCF jest hostem w moich usługach IIS i po prostu uzyskuję dostęp do .svc
z mojej aplikacji, aby utworzyć instancję ServiceClient
.
Dlaczego więc i gdzie jest używana ServiceHost
?
Prawie poprawne. - nawet usługi IIS i WAS będą używać obiektu ServiceHost do obsługi usługi WCF - po prostu tworzą ją i automatyzują ją za plecami. –
Tak, właśnie próbowałem opisać, kiedy zobaczysz ServiceHost we własnym kodzie. Usługa IIS/WAS ServiceHost zazwyczaj nie jest dostępna bezpośrednio przez programistę. –
Tak, to prawda - ServiceHost jest prawie niewidoczny w scenariuszu IIS/WAS :) –