ServiceHost 建構函式

定義

初始化 ServiceHost 類別的新執行個體。

多載

ServiceHost()

初始化 ServiceHost 類別的新執行個體。

ServiceHost(Object, Uri[])

使用服務執行個體及其指定基底位址,初始化 ServiceHost 類別的新執行個體。

ServiceHost(Type, Uri[])

使用服務的類型及其指定基底位址,初始化 ServiceHost 類別的新執行個體。

ServiceHost()

初始化 ServiceHost 類別的新執行個體。

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

備註

有兩個建構函式可用來建立 類別的 ServiceHost 實例。 ServiceHost(Type, Uri[])使用建構函式,此建構函式會採用服務類型作為輸入參數,大部分時間。 主機可以依需要使用這個建構函式來建立新服務。 ServiceHost(Object, Uri[])只有當您想要服務主機使用服務的特定單一實例時,才使用 建構函式。

適用於

ServiceHost(Object, Uri[])

使用服務執行個體及其指定基底位址,初始化 ServiceHost 類別的新執行個體。

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

參數

singletonInstance
Object

裝載之服務的執行個體。

baseAddresses
Uri[]

型別為 ArrayUri,其中包含所裝載之服務的基底位址。

例外狀況

singletonInstancenull

範例

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

備註

當您想要提供特定物件實例供單一服務使用時,請使用此建構函式作為實作自訂 System.ServiceModel.Dispatcher.IInstanceContextInitializer 的替代方法。 當服務實作類型很難建構時 (例如,無法實作沒有參數的預設公用建構函式時),您可能會想要使用這個多載。

請注意,當物件提供給這個多載時,與 Windows Communication Foundation (WCF 相關的某些功能) 實例行為的運作方式不同。 例如,使用這個建構函式多載提供已知物件實例時,呼叫 InstanceContext.ReleaseServiceInstance 沒有任何作用。 同樣的,也會忽略任何其他執行個體的釋放機制。 ServiceHost 的行為就像是所有作業都已將 OperationBehaviorAttribute.ReleaseInstanceMode 屬性設定為 ReleaseInstanceMode.None

適用於

ServiceHost(Type, Uri[])

使用服務的類型及其指定基底位址,初始化 ServiceHost 類別的新執行個體。

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

參數

serviceType
Type

裝載之服務的類型。

baseAddresses
Uri[]

型別為 Uri 的陣列,其中包含所裝載之服務的基底位址。

例外狀況

serviceTypenull

範例

此範例說明如何使用 ServiceHost 類別來裝載 Windows Communication Foundation 服務:

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

備註

當您知道服務類型時,可以使用這個建構函式,在需要時建立新的執行個體 (即便您只是需要一個單一執行個體)。 ServiceHost(Object, Uri[])只有當您想要服務主機使用服務的特定單一實例時,才使用 建構函式。

適用於