ServiceMetadataBehavior.HttpGetUrl Eigenschaft

Definition

Ruft den Speicherort der Metadatenveröffentlichtung für HTTP/GET-Anforderungen ab oder legt ihn fest.

public:
 property Uri ^ HttpGetUrl { Uri ^ get(); void set(Uri ^ value); };
public Uri HttpGetUrl { get; set; }
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public Uri HttpGetUrl { get; set; }
member this.HttpGetUrl : Uri with get, set
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
member this.HttpGetUrl : Uri with get, set
Public Property HttpGetUrl As Uri

Eigenschaftswert

Uri

Der absolute oder relative Speicherort der Metadaten.

Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht die Verwendung von ServiceMetadataBehavior in einer Konfigurationsdatei, um die Metadatenunterstützung für HTTP/GET- und WS-Transfer/GET-Anforderungen zu aktivieren.

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

Hinweise

Wenn der Wert von HttpGetUrl relativ ist, ist die Adresse, an der die Metadaten veröffentlicht werden, die Basisadresse und die Dienstadresse zuzüglich einer ?wsdl-Abfragezeichenfolge.

Wenn der Wert von HttpGetUrl absolut ist, ist die Adresse, an der die Metadaten veröffentlicht werden, dieser Wert zuzüglich einer ?wsdl-Abfragezeichenfolge.

Wenn die Dienstadresse beispielsweise http://localhost:8080/CalculatorService ist und HttpGetUrl eine leere Zeichenfolge, lautet die HTTP/GET-Metadatenadresse http://localhost:8080/CalculatorService?wsdl.

Gilt für: