Udostępnij za pośrednictwem


ServiceHost Konstruktory

Definicja

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.

baseAddresses
Uri[]

Typ ArrayUri zawierający adresy podstawowe 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.

baseAddresses
Uri[]

Tablica typu Uri zawierająca adresy podstawowe 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.

Dotyczy