ServiceDescription.GetService 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回以指定的服務物件或型別初始化的服務描述。
多載
GetService(Object) |
傳回以指定的服務物件初始化的服務描述。 |
GetService(Type) |
傳回以指定的服務型別初始化的服務描述。 |
GetService(Object)
傳回以指定的服務物件初始化的服務描述。
public:
static System::ServiceModel::Description::ServiceDescription ^ GetService(System::Object ^ serviceImplementation);
public static System.ServiceModel.Description.ServiceDescription GetService (object serviceImplementation);
static member GetService : obj -> System.ServiceModel.Description.ServiceDescription
Public Shared Function GetService (serviceImplementation As Object) As ServiceDescription
參數
傳回
提供之服務物件的 ServiceDescription。
例外狀況
serviceImplementation
為 null
。
範例
下列範例會示範如何逐一查看服務描述中所包含的服務行為。
// Instantiate a service description specifying a service object
// Note: Endpoints collection and other properties will be null since
// we have not specified them
CalculatorService svcObj = new CalculatorService();
ServiceDescription sd3 = ServiceDescription.GetService(svcObj);
String serviceName = sd3.Name;
Console.WriteLine("Service name: {0}", serviceName);
ServiceDescription d = ServiceDescription.GetService(typeof(CalculatorService));
foreach (IServiceBehavior isb in d.Behaviors)
{
Console.WriteLine(isb.GetType());
}
Console.WriteLine();
' Instantiate a service description specifying a service object
' Note: Endpoints collection and other properties will be null since
' we have not specified them
Dim svcObj As New CalculatorService()
Dim sd3 As ServiceDescription = ServiceDescription.GetService(svcObj)
Dim serviceName = sd3.Name
Console.WriteLine("Service name: {0}", serviceName)
Dim d As ServiceDescription = ServiceDescription.GetService(GetType(CalculatorService))
For Each isb As IServiceBehavior In d.Behaviors
Console.WriteLine(CType(isb, Object).GetType())
Next isb
Console.WriteLine()
備註
使用這個方法來反映使用 Windows Communication Foundation (WCF) 程式設計模型取代為您自己的裝載機制時 ServiceHostBase 的行為。
GetService(Object) 會初始化 Name、Namespace 和 ConfigurationName 屬性,並確保 ServiceBehaviorAttribute 會附加至服務並將相關的服務行為新增至 Behaviors。
適用於
GetService(Type)
傳回以指定的服務型別初始化的服務描述。
public:
static System::ServiceModel::Description::ServiceDescription ^ GetService(Type ^ serviceType);
public static System.ServiceModel.Description.ServiceDescription GetService (Type serviceType);
static member GetService : Type -> System.ServiceModel.Description.ServiceDescription
Public Shared Function GetService (serviceType As Type) As ServiceDescription
參數
傳回
提供之服務型別的 ServiceDescription。
例外狀況
serviceType
為 null
。
範例
ServiceDescription d = ServiceDescription.GetService(new CalculatorService());
foreach (IServiceBehavior isb in d.Behaviors)
{
Console.WriteLine(isb.GetType());
}
Console.WriteLine();
Dim d As ServiceDescription = ServiceDescription.GetService(New CalculatorService())
For Each isb As IServiceBehavior In d.Behaviors
Console.WriteLine(CType(isb, Object).GetType())
Next isb
Console.WriteLine()
備註
使用這個方法來反映使用 Windows Communication Foundation (WCF) 程式設計模型取代為您自己的裝載機制時 ServiceHostBase 的行為。
GetService(Type) 會初始化 Name、Namespace 和 ConfigurationName 屬性、反映在任何 ServiceBehaviorAttribute 物件的型別上並將其新增至 Behaviors 以及確保 ServiceBehaviorAttribute 附加至服務。