Partager via


ServiceMetadataBehavior.HttpGetUrl Propriété

Définition

Obtient ou définit l'emplacement de publication des métadonnées pour les requêtes 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

Valeur de propriété

Uri

Emplacement absolu ou relatif des métadonnées.

Attributs

Exemples

L'exemple de code suivant illustre l'objet ServiceMetadataBehavior dans un fichier de configuration pour activer la prise en charge des métadonnées pour les demandes HTTP/GET et 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>

Remarques

Si la valeur de HttpGetUrl est relative, l'adresse à laquelle les métadonnées sont publiées correspond à l'adresse de base et à l'adresse de service, plus une chaîne de requête ?wsdl.

Si la valeur de HttpGetUrl est absolue, l'adresse à laquelle les métadonnées sont publiées correspond à cette valeur, plus une chaîne de requête ?wsdl.

Par exemple, si l'adresse du service correspond à http://localhost:8080/CalculatorService et HttpGetUrl à une chaîne vide, l'adresse des métadonnées HTTP/GET est http://localhost:8080/CalculatorService?wsdl

S’applique à