ServiceHost Constructors

Definitie

Initialiseert een nieuw exemplaar van de ServiceHost klasse.

Overloads

Name Description
ServiceHost()

Initialiseert een nieuw exemplaar van de ServiceHost klasse.

ServiceHost(Object, Uri[])

Initialiseert een nieuw exemplaar van de ServiceHost klasse met het exemplaar van de service en de opgegeven basisadressen.

ServiceHost(Type, Uri[])

Initialiseert een nieuw exemplaar van de ServiceHost klasse met het type service en de opgegeven basisadressen.

ServiceHost()

Initialiseert een nieuw exemplaar van de ServiceHost klasse.

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

Opmerkingen

Er worden twee constructors gebruikt om een exemplaar van de ServiceHost klasse te maken. Gebruik de ServiceHost(Type, Uri[]) constructor die het servicetype meestal als invoerparameter gebruikt. De host kan deze gebruiken om zo nodig nieuwe services te maken. Gebruik in plaats daarvan alleen de ServiceHost(Object, Uri[]) constructor als u wilt dat de servicehost een specifiek singleton-exemplaar van de service gebruikt.

Van toepassing op

ServiceHost(Object, Uri[])

Initialiseert een nieuw exemplaar van de ServiceHost klasse met het exemplaar van de service en de opgegeven basisadressen.

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

Parameters

singletonInstance
Object

Het exemplaar van de gehoste service.

baseAddresses
Uri[]

Een Array type Uri dat de basisadressen voor de gehoste service bevat.

Uitzonderingen

singletonInstance is null.

Voorbeelden

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

Opmerkingen

Gebruik deze constructor als alternatief voor het implementeren van een aangepast objectexemplaren System.ServiceModel.Dispatcher.IInstanceContextInitializer als u een specifiek objectexemplaren wilt opgeven voor gebruik door een singleton-service. Mogelijk wilt u deze overbelasting gebruiken wanneer uw service-implementatietype moeilijk te maken is (bijvoorbeeld als er geen standaard openbare constructor wordt geïmplementeerd die geen parameters heeft).

Houd er rekening mee dat wanneer een object aan deze overbelasting wordt verstrekt, sommige functies met betrekking tot het gedrag van de Windows Communication Foundation (WCF) anders werken. Aanroepen InstanceContext.ReleaseServiceInstance hebben bijvoorbeeld geen effect wanneer een bekend objectexemplaren worden geleverd met behulp van deze overbelasting van de constructor. Op dezelfde manier wordt elk ander releasemechanisme voor instanties genegeerd. De ServiceHost gedraagt zich altijd alsof de eigenschap OperationBehaviorAttribute.ReleaseInstanceMode is ingesteld op ReleaseInstanceMode.None voor alle bewerkingen.

Van toepassing op

ServiceHost(Type, Uri[])

Initialiseert een nieuw exemplaar van de ServiceHost klasse met het type service en de opgegeven basisadressen.

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

Parameters

serviceType
Type

Het type gehoste service.

baseAddresses
Uri[]

Een matrix van het type Uri dat de basisadressen voor de gehoste service bevat.

Uitzonderingen

serviceType is null.

Voorbeelden

In dit voorbeeld ziet u hoe u de klasse ServiceHost gebruikt om een Windows Communication Foundation-service te hosten:

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

Opmerkingen

Gebruik deze constructor wanneer u het servicetype hebt en u kunt nieuwe exemplaren hiervan maken wanneer dat nodig is, zelfs wanneer u een singleton-exemplaar nodig hebt. Gebruik in plaats daarvan alleen de ServiceHost(Object, Uri[]) constructor als u wilt dat de servicehost een specifiek singleton-exemplaar van de service gebruikt.

Van toepassing op