ServiceDescription.GetService Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí popis služby inicializovaný zadaným objektem nebo typem služby.
Přetížení
GetService(Object) |
Vrátí popis služby inicializovaný zadaným objektem služby. |
GetService(Type) |
Vrátí popis služby inicializovaný se zadaným typem služby. |
GetService(Object)
Vrátí popis služby inicializovaný zadaným objektem služby.
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
Parametry
Návraty
Zadaný ServiceDescription objekt služby.
Výjimky
serviceImplementation
je null
.
Příklady
Následující ukázka ukazuje, jak iterovat chování služby obsažené v popisu služby.
// 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()
Poznámky
Tuto metodu použijte k reflexi chování pomocí programovacího modelu wcf (Windows Communication Foundation) při nahrazení ServiceHostBase vlastním hostitelským mechanismem.
GetService(Object)inicializuje Name, a NamespaceConfigurationName vlastnosti, a zajišťuje, že ServiceBehaviorAttribute je připojen ke službě a přidá všechny relevantní chování služby do Behaviors.
Platí pro
GetService(Type)
Vrátí popis služby inicializovaný se zadaným typem služby.
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
Parametry
Návraty
Zadaný ServiceDescription typ služby.
Výjimky
serviceType
je null
.
Příklady
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()
Poznámky
Tuto metodu použijte k reflexi chování pomocí programovacího modelu wcf (Windows Communication Foundation) při nahrazení ServiceHostBase vlastním hostitelským mechanismem.
GetService(Type) inicializuje Name, Namespacea ConfigurationName vlastnosti, odráží typ pro všechny ServiceBehaviorAttribute objekty a přidá je do Behaviorsa zajišťuje, že ServiceBehaviorAttribute je připojen ke službě.