ServiceDescription.Behaviors Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene i comportamenti associati al servizio.
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)
Valore della proprietà
La classe KeyedByTypeCollection<TItem> di tipo IServiceBehavior che contiene i comportamenti associati al servizio.
Esempio
// 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()
Commenti
Utilizzare questo metodo durante l'aggiunta di comportamenti personalizzati per estendere ServiceHost. A livello di programmazione, è necessario aggiungere il comportamento del servizio personalizzato utilizzando Add(T) a Behaviors prima di chiamare il metodo Open sull'oggetto ServiceHost.
Il tipo di comportamento accessibile dalla gerarchia della descrizione viene definito per l'ambito al livello specifico. Dalla classe ServiceDescription è accessibile l'interfaccia IServiceBehavior .
Se invece si desidera accedere all'interfaccia IEndpointBehavior associata a un endpoint, è possibile ottenere gli endpoint per il servizio utilizzando la proprietà Endpoints. Recuperare quindi l'oggetto ServiceEndpoint dalla raccolta con il Find metodo che utilizza i criteri di ricerca pertinenti e chiamare la Behaviors proprietà per ottenere la raccolta degli IEndpointBehavior oggetti .