ServiceHost Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy ServiceHost.
Przeciążenia
| Nazwa | Opis |
|---|---|
| ServiceHost() |
Inicjuje nowe wystąpienie klasy ServiceHost. |
| ServiceHost(Object, Uri[]) |
Inicjuje nowe wystąpienie ServiceHost klasy z określonym wystąpieniem usługi i jego adresami podstawowymi. |
| ServiceHost(Type, Uri[]) |
Inicjuje nowe wystąpienie ServiceHost klasy z określonym typem usługi i określonymi adresami podstawowymi. |
ServiceHost()
Inicjuje nowe wystąpienie klasy ServiceHost.
protected:
ServiceHost();
protected ServiceHost();
Protected Sub New ()
Uwagi
Istnieją dwa konstruktory używane do tworzenia wystąpienia ServiceHost klasy. Użyj konstruktora ServiceHost(Type, Uri[]) , który pobiera typ usługi jako parametr wejściowy, przez większość czasu. Host może użyć go do utworzenia nowych usług zgodnie z potrzebami. Zamiast tego użyj konstruktora ServiceHost(Object, Uri[]) tylko wtedy, gdy chcesz, aby host usługi używał określonego pojedynczego wystąpienia usługi.
Dotyczy
ServiceHost(Object, Uri[])
Inicjuje nowe wystąpienie ServiceHost klasy z określonym wystąpieniem usługi i jego adresami podstawowymi.
public:
ServiceHost(System::Object ^ singletonInstance, ... cli::array <Uri ^> ^ baseAddresses);
public ServiceHost(object singletonInstance, params Uri[] baseAddresses);
new System.ServiceModel.ServiceHost : obj * Uri[] -> System.ServiceModel.ServiceHost
Public Sub New (singletonInstance As Object, ParamArray baseAddresses As Uri())
Parametry
- singletonInstance
- Object
Wystąpienie hostowanej usługi.
Wyjątki
Parametr singletonInstance ma wartość null.
Przykłady
CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)
Uwagi
Użyj tego konstruktora jako alternatywy do zaimplementowania niestandardowego System.ServiceModel.Dispatcher.IInstanceContextInitializer , jeśli chcesz udostępnić określone wystąpienie obiektu do użycia przez pojedynczą usługę. Możesz użyć tego przeciążenia, gdy typ implementacji usługi jest trudny do skonstruowania (na przykład jeśli nie implementuje domyślnego konstruktora publicznego, który nie ma parametrów).
Należy pamiętać, że gdy obiekt jest dostarczany do tego przeciążenia, niektóre funkcje związane z zachowaniem instancingu programu Windows Communication Foundation (WCF) działają inaczej. Na przykład wywołanie InstanceContext.ReleaseServiceInstance nie ma wpływu, gdy dobrze znane wystąpienie obiektu jest udostępniane przy użyciu tego przeciążenia konstruktora. Podobnie każdy inny mechanizm wydawania wystąpień jest ignorowany. Zachowania ServiceHost są zawsze takie, jakby właściwość OperationBehaviorAttribute.ReleaseInstanceMode była ustawiona na ReleaseInstanceMode.None dla wszystkich operacji.
Dotyczy
ServiceHost(Type, Uri[])
Inicjuje nowe wystąpienie ServiceHost klasy z określonym typem usługi i określonymi adresami podstawowymi.
public:
ServiceHost(Type ^ serviceType, ... cli::array <Uri ^> ^ baseAddresses);
public ServiceHost(Type serviceType, params Uri[] baseAddresses);
new System.ServiceModel.ServiceHost : Type * Uri[] -> System.ServiceModel.ServiceHost
Public Sub New (serviceType As Type, ParamArray baseAddresses As Uri())
Parametry
- serviceType
- Type
Typ hostowanej usługi.
Wyjątki
Parametr serviceType ma wartość null.
Przykłady
W tym przykładzie pokazano, jak używać ServiceHost klasy do hostowania usługi Windows Communication Foundation:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
Uwagi
Użyj tego konstruktora, jeśli masz typ usługi i możesz utworzyć nowe wystąpienia, nawet jeśli potrzebujesz pojedynczego wystąpienia. Zamiast tego użyj konstruktora ServiceHost(Object, Uri[]) tylko wtedy, gdy chcesz, aby host usługi używał określonego pojedynczego wystąpienia usługi.