ServiceHost Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der ServiceHost-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| ServiceHost() |
Initialisiert eine neue Instanz der ServiceHost-Klasse. |
| ServiceHost(Object, Uri[]) |
Initialisiert eine neue Instanz der ServiceHost Klasse mit der Instanz des Diensts und der angegebenen Basisadressen. |
| ServiceHost(Type, Uri[]) |
Initialisiert eine neue Instanz der ServiceHost Klasse mit dem Angegebenen Diensttyp und den angegebenen Basisadressen. |
ServiceHost()
Initialisiert eine neue Instanz der ServiceHost-Klasse.
protected:
ServiceHost();
protected ServiceHost();
Protected Sub New ()
Hinweise
Es gibt zwei Konstruktoren, die zum Erstellen einer Instanz der ServiceHost Klasse verwendet werden. Verwenden Sie den ServiceHost(Type, Uri[]) Konstruktor, der den Diensttyp als Eingabeparameter verwendet, meistens. Der Host kann dies verwenden, um nach Bedarf neue Dienste zu erstellen. Verwenden Sie den ServiceHost(Object, Uri[]) Konstruktor stattdessen nur, wenn der Diensthost eine bestimmte Singletoninstanz des Diensts verwenden soll.
Gilt für:
ServiceHost(Object, Uri[])
Initialisiert eine neue Instanz der ServiceHost Klasse mit der Instanz des Diensts und der angegebenen 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())
Parameter
- singletonInstance
- Object
Die Instanz des gehosteten Diensts.
Ausnahmen
singletonInstance ist null.
Beispiele
CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)
Hinweise
Verwenden Sie diesen Konstruktor als Alternative zur Implementierung einer benutzerdefinierten System.ServiceModel.Dispatcher.IInstanceContextInitializer Instanz, wenn Sie eine bestimmte Objektinstanz für die Verwendung durch einen Singleton-Dienst bereitstellen möchten. Sie können diese Überladung verwenden, wenn ihr Dienstimplementierungstyp schwer zu konstruieren ist (z. B. wenn kein öffentlicher Standardkonstruktor implementiert wird, der keine Parameter enthält).
Beachten Sie, dass beim Angeben eines Objekts für diese Überladung einige Features im Zusammenhang mit dem Wcf-Verhalten (Windows Communication Foundation) anders funktionieren. Beispielsweise hat der Aufruf InstanceContext.ReleaseServiceInstance keine Auswirkung, wenn eine bekannte Objektinstanz mithilfe dieser Konstruktorüberladung bereitgestellt wird. Dementsprechend werden auch alle anderen Instanzfreigabemechanismen ignoriert. Das ServiceHost verhält sich immer so, als ob die Eigenschaft OperationBehaviorAttribute.ReleaseInstanceMode auf ReleaseInstanceMode.None für alle Vorgänge gesetzt ist.
Gilt für:
ServiceHost(Type, Uri[])
Initialisiert eine neue Instanz der ServiceHost Klasse mit dem Angegebenen Diensttyp und den angegebenen 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())
Parameter
- serviceType
- Type
Der Typ des gehosteten Diensts.
- baseAddresses
- Uri[]
Ein Array vom Typ Uri , das die Basisadressen für den gehosteten Dienst enthält.
Ausnahmen
serviceType ist null.
Beispiele
In diesem Beispiel wird die Verwendung der ServiceHost Klasse zum Hosten eines Windows Communication Foundation-Diensts veranschaulicht:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
Hinweise
Verwenden Sie diesen Konstruktor, wenn Sie über den Diensttyp verfügen und bei Bedarf neue Instanzen davon erstellen können, auch wenn Sie eine Singleton-Instanz benötigen. Verwenden Sie den ServiceHost(Object, Uri[]) Konstruktor stattdessen nur, wenn der Diensthost eine bestimmte Singletoninstanz des Diensts verwenden soll.