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
ServiceHost() |
Initialisiert eine neue Instanz der ServiceHost-Klasse. |
ServiceHost(Object, Uri[]) |
Initialisiert eine neue Instanz der ServiceHost-Klasse mit der angegebenen Dienstinstanz und ihrer Basisadresse. |
ServiceHost(Type, Uri[]) |
Initialisiert eine neue Instanz der ServiceHost-Klasse mit dem angegebenen Diensttyp und seiner Basisadresse. |
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 in den meisten Fällen als Eingabeparameter annimmt. Mit diesem Konstruktor kann der Host bei Bedarf neue Dienste erstellen. Verwenden Sie stattdessen den ServiceHost(Object, Uri[]) Konstruktor 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 angegebenen Dienstinstanz und ihrer Basisadresse.
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 zum Implementieren eines benutzerdefinierten System.ServiceModel.Dispatcher.IInstanceContextInitializer , wenn Sie eine bestimmte Objektinstanz für die Verwendung durch einen Singleton-Dienst bereitstellen möchten. Diese Überladung empfiehlt sich, wenn der Dienstimplementierungstyp schwer zu erstellen ist (wenn er z. B. keinen öffentlichen Standardkonstruktor implementiert, der über keine Parameter verfügt).
Beachten Sie, dass, wenn ein Objekt für diese Überladung bereitgestellt wird, einige Features im Zusammenhang mit dem Wcf-Instanziierungsverhalten (Windows Communication Foundation) unterschiedlich funktionieren. Beispielsweise haben Aufrufe InstanceContext.ReleaseServiceInstance keine Auswirkung, wenn eine bekannte Objektinstanz mithilfe dieser Konstruktorüberladung bereitgestellt wird. Dementsprechend werden auch alle anderen Instanzfreigabemechanismen ignoriert. Der ServiceHost verhält sich immer so, als ob die OperationBehaviorAttribute.ReleaseInstanceMode -Eigenschaft für alle Vorgänge auf ReleaseInstanceMode.None festgelegt ist.
Gilt für:
ServiceHost(Type, Uri[])
Initialisiert eine neue Instanz der ServiceHost-Klasse mit dem angegebenen Diensttyp und seiner Basisadresse.
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.
Ausnahmen
serviceType
ist null
.
Beispiele
In diesem Beispiel wird veranschaulicht, wie Sie die ServiceHost -Klasse zum Hosten eines Windows Communication Foundation-Diensts verwenden:
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 Singletoninstanz benötigen. Verwenden Sie stattdessen den ServiceHost(Object, Uri[]) Konstruktor nur, wenn der Diensthost eine bestimmte Singletoninstanz des Diensts verwenden soll.