Pozornie zamknij i wyrzuć są faktycznie takie same. Chcę móc zamknąć i otworzyć moją instancję ServiceHost bez konieczności ponownego instalowania go za każdym razem. Jakieś pomysły? Dzięki.WCF: Jak zatrzymać myServiceHost.Close() przed usunięciem obiektu myServiceHost?
Odpowiedz
ServiceHost.Close jest skutecznie identyczny z Dispose()
. Dotyczy to na ogół wszystkich typów, dla których metoda Close()
- Dispose()
jest zaimplementowana pod względem Close()
.
FYI - ServiceHostBase
narzędzia Dispose()
wyraźnie poprzez:
void IDisposable.Dispose()
{
base.Close();
}
to skutecznie, to znaczy, że po zamknięciu ServiceHost, zawsze utylizować() od niego. Nie ma obsługiwanej metody "ponownego otwarcia" bez odtworzenia go.
@Reed Copsey, dziękuję za odpowiedź. Pozwól, że przeformułuję pytanie, czy mogę "wyłączyć" obiekt serviceHost bez wywoływania Close? – Sam
@Sam: Nie. Zamknij go i odtwórz, jeśli chcesz "włączyć" go ponownie. –
Dlaczego chcesz "wyłączyć" usługę? Usługa powinna być zawsze dostępna dla dzwoniących. –
lub do przeformułowania pytania - jak mogę "wyłączyć" myServiceHost bez wywoływania Close? – Sam