Udostępnij za pośrednictwem


ServiceMetadataBehavior.HttpGetUrl Właściwość

Definicja

Pobiera lub ustawia lokalizację publikacji metadanych dla żądań HTTP/GET.

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

Wartość właściwości

Uri

Bezwzględna lub względna lokalizacja metadanych.

Atrybuty

Przykłady

Poniższy przykład kodu przedstawia 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

Jeśli wartość HttpGetUrl jest względna, adres, pod którym są publikowane metadane, jest adresem podstawowym i adresem usługi oraz ciągiem ?wsdl zapytania.

Jeśli wartość HttpGetUrl jest bezwzględna adresem, pod którym są publikowane metadane, jest ta wartość plus ?wsdl ciąg zapytania.

Jeśli na przykład adres usługi to http://localhost:8080/CalculatorService i HttpGetUrl ciąg jest pusty, adres metadanych HTTP/GET to http://localhost:8080/CalculatorService?wsdl.

Dotyczy