ServiceDescription.Behaviors Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar de beteenden som är associerade med tjänsten.
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)
Egenskapsvärde
Den KeyedByTypeCollection<TItem> typ IServiceBehavior som innehåller de beteenden som är associerade med tjänsten.
Exempel
// 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()
Kommentarer
Använd den här metoden när du lägger till anpassade beteenden för att utöka ServiceHost. Programmässigt måste Add(T) du beteendet för den anpassade tjänsten före Behaviors när du anropar Open metoden för ServiceHost objektet.
Den typ av beteende som är tillgänglig från beskrivningshierarkin är begränsad till den specifika nivån. ServiceDescription IServiceBehavior Från är tillgänglig.
Om du vill ha åtkomst till den IEndpointBehavior associerade med en slutpunkt i stället kan du hämta slutpunkterna för tjänsten med hjälp av Endpoints egenskapen . Hämta ServiceEndpoint sedan från samlingen med den Find metod som använder relevanta sökvillkor och anropa Behaviors egenskapen för att hämta samlingen av objekten IEndpointBehavior .