ServiceMetadataBehavior Klass

Definition

Styr publiceringen av tjänstmetadata och tillhörande information.

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
Arv
ServiceMetadataBehavior
Implementeringar

Exempel

Följande kodexempel visar användningen av ServiceMetadataBehavior i en konfigurationsfil för att aktivera metadatastöd för HTTP GET- och WS-Transfer GET-begäranden.

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

Kommentarer

Lägg till ett ServiceMetadataBehavior objekt i ServiceDescription.Behaviors samlingen (eller <serviceMetadata-elementet> i en programkonfigurationsfil) för att aktivera eller inaktivera publiceringen av tjänstmetadata. Att lägga till beteendet i en tjänst räcker dock inte för att aktivera metadatapublikation:

Slutpunktens IMetadataExchange adress följer de normala reglerna för kombinationen av basadresser och slutpunktsadresser. Mer information finns i Publicera metadata.

Om du vill aktivera publicering av metadata med hjälp av en konfigurationsfil lägger du till elementet< serviceMetadata> i elementet< serviceBehaviors> och associerar elementet med det< tjänstelement> som du vill publicera metadata för. Ett exempel finns i How to: Publish Metadata for a Service Using a Configuration File (Publicera metadata för en tjänst med hjälp av en konfigurationsfil). Klassen har följande medlemmar:

  • Egenskapen HttpGetEnabled anger om metadata returneras för HTTP/GET-begäranden.

  • Egenskapen HttpGetUrl (tillsammans med basadresserna) anger HTTP/GET-adressen.

  • Egenskapen HttpsGetEnabled anger om metadata returneras för en HTTPS/GET-begäran.

  • Egenskapen HttpsGetUrl (tillsammans med basadresserna) anger HTTPS/GET-adressen.

  • Egenskapen MetadataExporter returnerar den underliggande exportören.

ServiceMetadataBehavior Används vanligtvis från en programkonfigurationsfil. Se avsnittet Exempel för ett kodexempel.

Konstruktorer

Name Description
ServiceMetadataBehavior()

Initierar en ny instans av ServiceMetadataBehavior klassen.

Fält

Name Description
MexContractName

Returnerar strängen IMetadataContract.

Egenskaper

Name Description
ExternalMetadataLocation

Hämtar eller anger ett värde som är platsen för tjänstmetadata.

HttpGetBinding

Hämtar eller anger en bindning som används för att konfigurera metadatahämtning när transporten är HTTP.

HttpGetEnabled

Hämtar eller anger ett värde som anger om tjänstens metadata ska publiceras för hämtning med hjälp av en HTTP/GET-begäran.

HttpGetUrl

Hämtar eller anger platsen för metadatapublikation för HTTP/GET-begäranden.

HttpsGetBinding

Hämtar eller anger en bindning som används för att konfigurera metadatahämtning när transporten är HTTPS.

HttpsGetEnabled

Hämtar eller anger ett värde som anger om tjänstens metadata ska publiceras för hämtning med hjälp av en HTTPS/GET-begäran.

HttpsGetUrl

Hämtar eller anger platsen för metadatapublikation för HTTPS/GET-begäranden.

MetadataExporter

Hämtar eller anger det interna MetadataExporter objekt som används för att publicera tjänstens metadata.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Implementeringen av IServiceBehavior detta konfigurerar de underliggande bindningarna för att stödja beteendet.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Implementering av IServiceBehavior detta konfigurerar de underliggande bindningarna för att stödja beteendet på tjänsten.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Implementeringen av IServiceBehavior detta verifierar att tjänstbeskrivningen kan stödja beteendet.

Gäller för