Udostępnij za pośrednictwem


ServiceMetadataBehavior Klasa

Definicja

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:

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 IMetadataContract.

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.

Dotyczy