ServiceMetadataBehavior Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Controlla la pubblicazione dei metadati del servizio e le informazioni associate.
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
- Ereditarietà
-
ServiceMetadataBehavior
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato l'uso di in un file di ServiceMetadataBehavior configurazione per abilitare il supporto dei metadati per HTTP GET e WS-Transfer richieste 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>
Commenti
Aggiungere un ServiceMetadataBehavior oggetto alla ServiceDescription.Behaviors raccolta (o all'elemento <serviceMetadata> in un file di configurazione dell'applicazione) per abilitare o disabilitare la pubblicazione dei metadati del servizio. Tuttavia, l'aggiunta del comportamento a un servizio non è sufficiente per abilitare la pubblicazione dei metadati:
Per abilitare WS-Transfer recupero dei metadati GET, è necessario aggiungere anche un endpoint al servizio in cui il contratto è
IMetadataExchange. Per un esempio, vedere Procedura: Pubblicare metadati per un servizio tramite codice. L'endpointIMetadataExchangepuò essere configurato come può qualsiasi altro endpoint.Per abilitare il recupero dei metadati HTTP GET, impostare la HttpGetEnabled proprietà su
true. Per altre informazioni sull'indirizzo dei metadati HTTP GET, vedere HttpGetEnabled.
L'indirizzo dell'endpoint IMetadataExchange segue le normali regole relative alla combinazione di indirizzi di base e indirizzi endpoint. Per altre informazioni, vedere Pubblicazione di metadati.
Per abilitare la pubblicazione dei metadati utilizzando un file di configurazione, aggiungere l'elemento <serviceMetadata> all'elemento <serviceBehaviors> e associare l'elemento all'elemento del< servizio> per il quale si desidera pubblicare i metadati. Per un esempio, vedere Procedura: Pubblicare metadati per un servizio usando un file di configurazione. La classe ha i membri seguenti:
La HttpGetEnabled proprietà specifica se i metadati vengono restituiti per le richieste HTTP/GET.
La HttpGetUrl proprietà (insieme agli indirizzi di base) specifica l'indirizzo HTTP/GET.
La HttpsGetEnabled proprietà specifica se i metadati vengono restituiti per una richiesta HTTPS/GET.
La HttpsGetUrl proprietà (insieme agli indirizzi di base) specifica l'indirizzo HTTPS/GET.
La MetadataExporter proprietà restituisce l'utilità di esportazione sottostante.
ServiceMetadataBehavior In genere viene usato da un file di configurazione dell'applicazione. Vedere la sezione Esempio per un esempio di codice.
Costruttori
| Nome | Descrizione |
|---|---|
| ServiceMetadataBehavior() |
Inizializza una nuova istanza della classe ServiceMetadataBehavior. |
Campi
| Nome | Descrizione |
|---|---|
| MexContractName |
Restituisce la stringa |
Proprietà
| Nome | Descrizione |
|---|---|
| ExternalMetadataLocation |
Ottiene o imposta un valore che rappresenta la posizione dei metadati del servizio. |
| HttpGetBinding |
Ottiene o imposta un'associazione utilizzata per configurare il recupero dei metadati quando il trasporto è HTTP. |
| HttpGetEnabled |
Ottiene o imposta un valore che indica se pubblicare i metadati del servizio per il recupero tramite una richiesta HTTP/GET. |
| HttpGetUrl |
Ottiene o imposta il percorso della pubblicazione di metadati per le richieste HTTP/GET. |
| HttpsGetBinding |
Ottiene o imposta un'associazione utilizzata per configurare il recupero dei metadati quando il trasporto è HTTPS. |
| HttpsGetEnabled |
Ottiene o imposta un valore che indica se pubblicare i metadati del servizio per il recupero tramite una richiesta HTTPS/GET. |
| HttpsGetUrl |
Ottiene o imposta il percorso della pubblicazione di metadati per le richieste HTTPS/GET. |
| MetadataExporter |
Ottiene o imposta l'oggetto interno MetadataExporter utilizzato per pubblicare i metadati del servizio. |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementazione di IServiceBehavior che configura le associazioni sottostanti per supportare il comportamento. |
| IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementazione di IServiceBehavior che configura le associazioni sottostanti per supportare il comportamento nel servizio. |
| IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementazione di IServiceBehavior che convalida che la descrizione del servizio può supportare il comportamento. |