ServiceHost Konstruktorer

Definition

Initierar en ny instans av ServiceHost klassen.

Överlagringar

Name Description
ServiceHost()

Initierar en ny instans av ServiceHost klassen.

ServiceHost(Object, Uri[])

Initierar en ny instans av ServiceHost klassen med instansen av tjänsten och dess basadresser angivna.

ServiceHost(Type, Uri[])

Initierar en ny instans av ServiceHost klassen med den typ av tjänst och dess basadresser som angetts.

ServiceHost()

Initierar en ny instans av ServiceHost klassen.

protected:
 ServiceHost();
protected ServiceHost();
Protected Sub New ()

Kommentarer

Det finns två konstruktorer som används för att skapa en instans av ServiceHost klassen. ServiceHost(Type, Uri[]) Använd konstruktorn som tar tjänsttypen som indataparameter för det mesta. Värden kan använda detta för att skapa nya tjänster efter behov. ServiceHost(Object, Uri[]) Använd konstruktorn i stället bara när du vill att tjänstvärden ska använda en specifik singleton-instans av tjänsten.

Gäller för

ServiceHost(Object, Uri[])

Initierar en ny instans av ServiceHost klassen med instansen av tjänsten och dess basadresser angivna.

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())

Parametrar

singletonInstance
Object

Instansen av den värdbaserade tjänsten.

baseAddresses
Uri[]

En Array typ Uri som innehåller basadresserna för den värdbaserade tjänsten.

Undantag

singletonInstance är null.

Exempel

CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)

Kommentarer

Använd den här konstruktorn som ett alternativ till att implementera en anpassad System.ServiceModel.Dispatcher.IInstanceContextInitializer när du vill ange en specifik objektinstans för användning av en singleton-tjänst. Du kanske vill använda den här överbelastningen när din tjänstimplementeringstyp är svår att konstruera (till exempel om den inte implementerar en offentlig standardkonstruktor som inte har några parametrar).

Observera att när ett objekt tillhandahålls till den här överbelastningen fungerar vissa funktioner relaterade till Windows Communication Foundation (WCF) instancing beteende på olika sätt. Anrop InstanceContext.ReleaseServiceInstance har till exempel ingen effekt när en välkänd objektinstans tillhandahålls med hjälp av den här konstruktorns överlagring. På samma sätt ignoreras alla andra instanssläppmekanismer. Fungerar ServiceHost alltid som om egenskapen OperationBehaviorAttribute.ReleaseInstanceMode är inställd på ReleaseInstanceMode.None för alla åtgärder.

Gäller för

ServiceHost(Type, Uri[])

Initierar en ny instans av ServiceHost klassen med den typ av tjänst och dess basadresser som angetts.

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())

Parametrar

serviceType
Type

Typen av värdbaserad tjänst.

baseAddresses
Uri[]

En matris av typen Uri som innehåller basadresserna för den värdbaserade tjänsten.

Undantag

serviceType är null.

Exempel

Det här exemplet visar hur du använder klassen ServiceHost för att vara värd för en Windows Communication Foundation-tjänst:

ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)

Kommentarer

Använd den här konstruktorn när du har tjänsttypen och du kan skapa nya instanser av den när det behövs, även när du behöver en singleton-instans. ServiceHost(Object, Uri[]) Använd konstruktorn i stället bara när du vill att tjänstvärden ska använda en specifik singleton-instans av tjänsten.

Gäller för