ServiceDescription.Behaviors ServiceDescription.Behaviors ServiceDescription.Behaviors ServiceDescription.Behaviors Property

Definition

Ruft die dem Dienst zugeordneten Verhalten ab.Gets the behaviors associated with the service.

public:
 property System::Collections::Generic::KeyedByTypeCollection<System::ServiceModel::Description::IServiceBehavior ^> ^ Behaviors { System::Collections::Generic::KeyedByTypeCollection<System::ServiceModel::Description::IServiceBehavior ^> ^ get(); };
public System.Collections.Generic.KeyedByTypeCollection<System.ServiceModel.Description.IServiceBehavior> Behaviors { get; }
member this.Behaviors : System.Collections.Generic.KeyedByTypeCollection<System.ServiceModel.Description.IServiceBehavior>
Public ReadOnly Property Behaviors As KeyedByTypeCollection(Of IServiceBehavior)

Eigenschaftswert

Die KeyedByTypeCollection<TItem> vom Typ IServiceBehavior, die die dem Dienst zugeordneten Verhalten enthält.The KeyedByTypeCollection<TItem> of type IServiceBehavior that contains the behaviors associated with the service.

Beispiele

// Iterate through the list of behaviors in the ServiceDescription
ServiceDescription svcDesc = serviceHost.Description;
KeyedByTypeCollection<IServiceBehavior> sbCol = svcDesc.Behaviors;
foreach (IServiceBehavior behavior in sbCol)
{
    Console.WriteLine("Behavior: {0}", behavior.ToString());
}
Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

serviceHost.AddServiceEndpoint(
    typeof(ICalculator),
    new WSHttpBinding(),
    "CalculatorServiceObject");

// Enable Mex
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
serviceHost.Description.Behaviors.Add(smb);

ServiceDescription sd = serviceHost.Description;
sd.Behaviors.Add(new MyCustomBehavior());

serviceHost.Open();
' Iterate through the list of behaviors in the ServiceDescription
Dim svcDesc As ServiceDescription = serviceHost.Description
Dim sbCol As KeyedByTypeCollection(Of IServiceBehavior) = svcDesc.Behaviors
For Each behavior As IServiceBehavior In sbCol
	Console.WriteLine("Behavior: {0}", CType(behavior, Object).ToString())
Next behavior
Dim baseAddress As New Uri("http://localhost:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)

serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")

' Enable Mex
Dim smb As New ServiceMetadataBehavior()
smb.HttpGetEnabled = True
serviceHost.Description.Behaviors.Add(smb)

Dim sd As ServiceDescription = serviceHost.Description
sd.Behaviors.Add(New MyCustomBehavior())

serviceHost.Open()

Hinweise

Verwenden Sie diese Methode, wenn Sie benutzerdefinierte Verhalten hinzufügen, um ServiceHost zu erweitern.Use this method when adding custom behaviors to extend ServiceHost. Das benutzerdefinierte Dienstverhalten muss den Add(T) mittels Behaviors programmgesteuert hinzugefügt werden, und zwar bevor die Open-Methode für das ServiceHost-Objekt aufgerufen wird.Programmatically, you must Add(T) the custom service behavior to the Behaviors prior to when you call the Open method on the ServiceHost object.

Der Bereich des Verhaltentyps, auf den von der Beschreibungshierarchie zugegriffen werden kann, wird auf eine bestimmte Ebene festgelegt.The type of behavior that is accessible from the description hierarchy is scoped to the specific level. Über ServiceDescription kann auf IServiceBehavior zugegriffen werden.From the ServiceDescription the IServiceBehavior is accessible.

Wenn Sie stattdessen auf das einem Endpunkt zugeordnete IEndpointBehavior zugreifen möchten, können Sie die Endpunkte für den Dienst mithilfe der Endpoints-Eigenschaft abrufen.If you want access to the IEndpointBehavior associated with an endpoint instead, you can obtain the endpoints for the service using the Endpoints property. Rufen Sie dann ServiceEndpoint den aus der-Auflistung Find mit der-Methode ab, die die relevanten Suchkriterien Behaviors verwendet, und rufen Sie die- IEndpointBehavior Eigenschaft auf, um die Auflistung der-Objekte abzurufen.Then retrieve the ServiceEndpoint from the collection with the Find method that employs the relevant search criteria, and call the Behaviors property to obtain the collection of the IEndpointBehavior objects.

Gilt für: