ServiceDescription.Behaviors Propiedad

Definición

Obtiene los comportamientos asociados al servicio.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)

Valor de propiedad

KeyedByTypeCollection<TItem> de tipo IServiceBehavior que contiene los comportamientos asociados al servicio.The KeyedByTypeCollection<TItem> of type IServiceBehavior that contains the behaviors associated with the service.

Ejemplos

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

Comentarios

Utilice este método para agregar los comportamientos personalizados y extender ServiceHost.Use this method when adding custom behaviors to extend ServiceHost. Mediante programación, debe agregar Add(T) el comportamiento de servicio personalizado a Behaviors antes de llamar al método Open en el objeto ServiceHost.Programmatically, you must Add(T) the custom service behavior to the Behaviors prior to when you call the Open method on the ServiceHost object.

El ámbito del tipo de comportamiento accesible desde la jerarquía de la descripción debe estar al nivel específico.The type of behavior that is accessible from the description hierarchy is scoped to the specific level. Desde ServiceDescription se puede acceder a IServiceBehavior.From the ServiceDescription the IServiceBehavior is accessible.

Si desea acceder al IEndpointBehavior que está asociado con un punto de conexión, puede obtener los puntos de conexión para el servicio utilizando la propiedad Endpoints.If you want access to the IEndpointBehavior associated with an endpoint instead, you can obtain the endpoints for the service using the Endpoints property. A continuación, ServiceEndpoint recupere de la colección Find con el método que emplea los criterios de búsqueda pertinentes y llame Behaviors a la propiedad para obtener la colección IEndpointBehavior de los objetos.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.

Se aplica a