ServiceMetadataBehavior Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Détermine la publication de métadonnées de service et des informations associées.
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
- Héritage
-
ServiceMetadataBehavior
- Implémente
Exemples
L'exemple de code suivant indique comment utiliser ServiceMetadataBehavior dans un fichier de configuration pour activer la prise en charge des métadonnées pour les requêtes 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
Ajoutez un ServiceMetadataBehavior objet à la collection (ou à l’élément ServiceDescription.Behaviors <serviceMetadata> dans un fichier de configuration d’application) pour activer ou désactiver la publication des métadonnées de service. Toutefois, l'ajout du comportement à un service ne suffit pas à activer la publication de métadonnées :
Pour activer la récupération de métadonnées WS-Transfer GET, vous devez également ajouter un point de terminaison à votre service dans lequel le contrat correspond à
IMetadataExchange
. Pour obtenir un exemple, voir Comment : publier des métadonnées pour un service à l’aide du code. Le point de terminaisonIMetadataExchange
peut être configuré comme n'importe quel autre point de terminaison.Pour activer la récupération de métadonnées HTTP GET, affectez à la propriété HttpGetEnabled la valeur
true
. Pour plus d’informations sur l’adresse des métadonnées HTTP GET, consultez HttpGetEnabled.
L'adresse du point de terminaison IMetadataExchange
respecte les règles habituelles relatives à la combinaison d'adresses de base et d'adresses de point de terminaison. Pour plus d’informations, consultez Publication des métadonnées.
Pour activer la publication des métadonnées à l’aide d’un fichier de configuration, ajoutez l’élément <serviceMetadata> à l’élément <serviceBehaviors> et associez l’élément à l’élément <de service> pour lequel vous souhaitez publier des métadonnées. Pour obtenir un exemple, voir Comment : publier des métadonnées pour un service à l’aide d’un fichier de configuration. La classe possède les membres suivants :
La propriété HttpGetEnabled spécifie si des métadonnées sont retournées pour les requêtes HTTP/GET.
La propriété HttpGetUrl (avec les adresses de base) spécifie l'adresse HTTP/GET.
La propriété HttpsGetEnabled spécifie si des métadonnées sont retournées pour une requête HTTPS/GET.
La propriété HttpsGetUrl (avec les adresses de base) spécifie l'adresse HTTPS/GET.
La propriété MetadataExporter retourne l'exportateur sous-jacent.
En règle générale, ServiceMetadataBehavior est utilisé à partir d'un fichier de configuration de l'application. Pour obtenir un exemple de code, consultez la section Exemple.
Constructeurs
ServiceMetadataBehavior() |
Initialise une nouvelle instance de la classe ServiceMetadataBehavior. |
Champs
MexContractName |
Retourne la chaîne |
Propriétés
ExternalMetadataLocation |
Obtient ou définit une valeur qui correspond à l'emplacement des métadonnées du service. |
HttpGetBinding |
Obtient ou définit une liaison utilisée pour configurer la récupération des métadonnées lorsque le transport est HTTP. |
HttpGetEnabled |
Obtient ou définit une valeur qui indique si les métadonnées du service doivent être publiées pour être récupérées à l'aide d'une requête HTTP/GET. |
HttpGetUrl |
Obtient ou définit l'emplacement de publication des métadonnées pour les requêtes HTTP/GET. |
HttpsGetBinding |
Obtient ou définit une liaison utilisée pour configurer la récupération des métadonnées lorsque le transport est HTTPS. |
HttpsGetEnabled |
Obtient ou définit une valeur qui indique si les métadonnées du service doivent être publiées pour être récupérées à l'aide d'une requête HTTPS/GET. |
HttpsGetUrl |
Obtient ou définit l'emplacement de publication des métadonnées pour les requêtes HTTPS/GET. |
MetadataExporter |
Obtient ou définit l'objet interne MetadataExporter utilisé pour publier les métadonnées du service. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implémentation de IServiceBehavior qui configure les liaisons sous-jacentes pour prendre en charge le comportement. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implémentation de IServiceBehavior qui configure les liaisons sous-jacentes pour prendre en charge le comportement sur le service. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implémentation de IServiceBehavior qui confirme que la description de service peut prendre en charge le comportement. |