ServiceMetadataBehavior Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Controla a publicação de metadados de serviço e informações associadas.
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
- Herança
-
ServiceMetadataBehavior
- Implementações
Exemplos
O exemplo de código a seguir demonstra o uso de um arquivo de ServiceMetadataBehavior configuração para habilitar o suporte a metadados para solicitações HTTP GET e GET WS-Transfer.
// 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>
Comentários
Adicione um ServiceMetadataBehavior objeto à ServiceDescription.Behaviors coleção (ou ao <elemento serviceMetadata> em um arquivo de configuração de aplicativo) para habilitar ou desabilitar a publicação de metadados de serviço. No entanto, adicionar o comportamento a um serviço não é suficiente para habilitar a publicação de metadados:
Para habilitar WS-Transfer recuperação de metadados GET, você também deve adicionar um ponto de extremidade ao serviço no qual o contrato é
IMetadataExchange
. Para obter um exemplo, consulte Como publicar metadados para um serviço usando código. OIMetadataExchange
ponto de extremidade pode ser configurado como qualquer outro ponto de extremidade.Para habilitar a recuperação de metadados HTTP GET, defina a HttpGetEnabled propriedade como
true
. Para obter mais informações sobre o endereço dos metadados HTTP GET, consulte HttpGetEnabled.
O endereço do IMetadataExchange
ponto de extremidade segue as regras normais relativas à combinação de endereços base e endereços de ponto de extremidade. Para obter mais informações, consulte Metadados de publicação.
Para habilitar a publicação de metadados usando um arquivo de configuração, adicione o <elemento serviceMetadata> ao <elemento serviceBehaviors e associe> o elemento ao elemento de serviço> para o< qual você deseja publicar metadados. Para obter um exemplo, consulte Como publicar metadados para um serviço usando um arquivo de configuração. A classe tem os seguintes membros:
A HttpGetEnabled propriedade especifica se os metadados são retornados para solicitações HTTP/GET.
A HttpGetUrl propriedade (em conjunto com os endereços base) especifica o endereço HTTP/GET.
A HttpsGetEnabled propriedade especifica se os metadados são retornados para uma solicitação HTTPS/GET.
A HttpsGetUrl propriedade (em conjunto com os endereços base) especifica o endereço HTTPS/GET.
A MetadataExporter propriedade retorna o exportador subjacente.
Normalmente, o ServiceMetadataBehavior é usado de um arquivo de configuração de aplicativo. Consulte a seção Exemplo para obter um exemplo de código.
Construtores
ServiceMetadataBehavior() |
Inicializa uma nova instância da classe ServiceMetadataBehavior. |
Campos
MexContractName |
Retorna a cadeia de caracteres |
Propriedades
ExternalMetadataLocation |
Obtém ou define um valor que é o local dos metadados do serviço. |
HttpGetBinding |
Obtém ou define uma associação usada para configurar a recuperação de metadados quando o transporte é HTTP. |
HttpGetEnabled |
Obtém ou define um valor que indica se os metadados de serviço devem ser publicados para recuperação usando uma solicitação HTTP/GET. |
HttpGetUrl |
Obtém ou define o local de publicação de metadados para solicitações HTTP/GET. |
HttpsGetBinding |
Obtém ou define uma associação usada para configurar a recuperação de metadados quando o transporte é HTTPS. |
HttpsGetEnabled |
Obtém ou define um valor que indica se os metadados de serviço para recuperação devem ser publicados usando uma solicitação HTTPS/GET. |
HttpsGetUrl |
Obtém ou define o local de publicação de metadados para solicitações HTTPS/GET. |
MetadataExporter |
Obtém ou define o objeto MetadataExporter interno usado para publicar os metadados do serviço. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementação de IServiceBehavior que configura as associações subjacentes para serem compatíveis com o comportamento. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementação de IServiceBehavior que configura as associações subjacentes para serem compatíveis com o comportamento no serviço. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementação de IServiceBehavior que valida que a descrição do serviço pode ser compatível com o comportamento. |