ServiceMetadataBehavior Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kontroluje publikację metadanych usługi i skojarzonych informacji.
public ref class ServiceMetadataBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceMetadataBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceMetadataBehavior = class
interface IServiceBehavior
Public Class ServiceMetadataBehavior
Implements IServiceBehavior
- Dziedziczenie
-
ServiceMetadataBehavior
- Implementuje
Przykłady
W poniższym przykładzie kodu pokazano użycie elementu ServiceMetadataBehavior w pliku konfiguracji w celu włączenia obsługi metadanych dla żądań HTTP GET i WS-Transfer GET.
// Create a new metadata behavior object and set its properties to
// create a secure endpoint.
ServiceMetadataBehavior sb = new ServiceMetadataBehavior();
//sb.EnableHelpPage= true;
//sb.HttpsGetUrl = new Uri("https://myMachineName:8036/myEndpoint");
//myServiceHost.Description.Behaviors.Add(sb);
}
private void SnippetServiceMetadataBehavior()
{
// service for which <<indigo2>> automatically adds a
// ServiceMetadataBehavior to publish metadata as well as
// an HTML service help page
// from C_HowToSecureEndpoint\cs
// Create a new metadata behavior object and set its properties to
// create a secure endpoint.
ServiceMetadataBehavior sb = new ServiceMetadataBehavior();
/* sb.EnableHelpPage = true;
sb.enableMetadataExchange = true;
sb.HttpsGetUrl = new Uri("https://myMachineName:8036/myEndpoint");
myServiceHost.Description.Behaviors.Add(sb);
*/
}
private void Run()
{
// T:System.ServiceModel.ServiceMetadataBehavior
// <Snippet#0>
// Create a ServiceHost for the service type and use the base address from configuration.
ServiceHost host = new ServiceHost(typeof(SampleService));
try
{
ServiceMetadataBehavior metad
= host.Description.Behaviors.Find<ServiceMetadataBehavior>();
if (metad == null)
metad = new ServiceMetadataBehavior();
metad.HttpGetEnabled = true;
host.Description.Behaviors.Add(metad);
host.AddServiceEndpoint(
ServiceMetadataBehavior.MexContractName,
MetadataExchangeBindings.CreateMexHttpBinding(),
"mex"
);
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
host.Close();
// </Snippet#0>
Uwagi
ServiceMetadataBehavior Dodaj obiekt do ServiceDescription.Behaviors kolekcji (lub <elementu serviceMetadata> w pliku konfiguracji aplikacji), aby włączyć lub wyłączyć publikację metadanych usługi. Jednak dodanie zachowania do usługi nie wystarczy, aby włączyć publikację metadanych:
Aby włączyć WS-Transfer pobierania metadanych GET, należy również dodać punkt końcowy do usługi, w której kontrakt ma wartość
IMetadataExchange
. Przykład można znaleźć w temacie How to: Publish Metadata for a Service Using Code (Instrukcje: publikowanie metadanych dla usługi przy użyciu kodu). PunktIMetadataExchange
końcowy można skonfigurować tak, jak każdy inny punkt końcowy.Aby włączyć pobieranie metadanych HTTP GET, ustaw HttpGetEnabled właściwość na
true
wartość . Aby uzyskać więcej informacji na temat adresu metadanych HTTP GET, zobacz HttpGetEnabled.
Adres punktu końcowego IMetadataExchange
jest zgodny z normalnymi regułami dotyczącymi kombinacji adresów podstawowych i adresów punktów końcowych. Aby uzyskać więcej informacji, zobacz Publikowanie metadanych.
Aby włączyć publikowanie metadanych przy użyciu pliku konfiguracji, dodaj <element serviceMetadata> do <elementu serviceBehaviors> i skojarz element z <elementem usługi> , dla którego chcesz opublikować metadane. Przykład można znaleźć w temacie How to: Publish Metadata for a Service Using a Configuration File (Instrukcje: publikowanie metadanych dla usługi przy użyciu pliku konfiguracji). Klasa ma następujące składowe:
Właściwość HttpGetEnabled określa, czy metadane są zwracane dla żądań HTTP/GET.
Właściwość HttpGetUrl (w połączeniu z adresami podstawowymi) określa adres HTTP/GET.
Właściwość HttpsGetEnabled określa, czy metadane są zwracane dla żądania HTTPS/GET.
Właściwość HttpsGetUrl (w połączeniu z adresami podstawowymi) określa adres HTTPS/GET.
Właściwość MetadataExporter zwraca bazowego eksportera.
ServiceMetadataBehavior Zazwyczaj jest używany z pliku konfiguracji aplikacji. Zobacz sekcję Przykład, aby zapoznać się z przykładem kodu.
Konstruktory
ServiceMetadataBehavior() |
Inicjuje nowe wystąpienie klasy ServiceMetadataBehavior. |
Pola
MexContractName |
Zwraca ciąg |
Właściwości
ExternalMetadataLocation |
Pobiera lub ustawia wartość, która jest lokalizacją metadanych usługi. |
HttpGetBinding |
Pobiera lub ustawia powiązanie używane do konfigurowania pobierania metadanych, gdy transport to HTTP. |
HttpGetEnabled |
Pobiera lub ustawia wartość wskazującą, czy należy opublikować metadane usługi na potrzeby pobierania przy użyciu żądania HTTP/GET. |
HttpGetUrl |
Pobiera lub ustawia lokalizację publikacji metadanych dla żądań HTTP/GET. |
HttpsGetBinding |
Pobiera lub ustawia powiązanie używane do konfigurowania pobierania metadanych, gdy transport to HTTPS. |
HttpsGetEnabled |
Pobiera lub ustawia wartość wskazującą, czy należy opublikować metadane usługi do pobierania przy użyciu żądania HTTPS/GET. |
HttpsGetUrl |
Pobiera lub ustawia lokalizację publikacji metadanych dla żądań HTTPS/GET. |
MetadataExporter |
Pobiera lub ustawia obiekt wewnętrzny MetadataExporter używany do publikowania metadanych usługi. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementacja tej IServiceBehavior metody umożliwia skonfigurowanie podstawowych powiązań w celu obsługi zachowania. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementacja IServiceBehavior tej funkcji umożliwia skonfigurowanie podstawowych powiązań w celu obsługi zachowania w usłudze. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementacja tej weryfikacji IServiceBehavior , czy opis usługi może obsługiwać zachowanie. |