ServiceMetadataBehavior 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
控制服务元数据和相关信息的发布。
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
		- 继承
 - 
				ServiceMetadataBehavior
 
- 实现
 
示例
下面的代码示例演示如何在配置文件中使用 ServiceMetadataBehavior,以便启用进行 HTTP GET 和 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>
	注解
将 ServiceMetadataBehavior 对象添加到 ServiceDescription.Behaviors 应用程序配置文件 (或 <serviceMetadata> 元素的集合中,) 启用或禁用服务元数据的发布。 但是,向服务添加行为并不足以启用元数据发布:
要启用 WS-Transfer GET 元数据检索,还必须向您的服务添加终结点,其中协定为
IMetadataExchange。 有关示例,请参阅 如何:使用代码发布服务的元数据。IMetadataExchange终结点可以按配置任何其他终结点的方式进行配置。要启用 HTTP GET 元数据检索,请将 HttpGetEnabled 属性设置为
true。 有关 HTTP GET 元数据的地址的详细信息,请参阅 HttpGetEnabled。
IMetadataExchange 终结点的地址遵循关于基址和终结点地址相结合的常规规则。 有关详细信息,请参阅 发布元数据。
若要使用配置文件启用元数据发布,请将 <serviceMetadata> 元素添加到 <serviceBehaviors> 元素,并将该元素与 <要为其发布元数据的服务> 元素相关联。 有关示例,请参阅 如何:使用配置文件发布服务的元数据。 该类包含以下成员:
HttpGetEnabled 属性指定是否为 HTTP/GET 请求返回元数据。
HttpGetUrl 属性(与基址结合使用)可指定 HTTP/GET 地址。
HttpsGetEnabled 属性指定是否为 HTTPS/GET 请求返回元数据。
HttpsGetUrl 属性(与基址结合使用)可指定 HTTPS/GET 地址。
MetadataExporter 属性返回基础导出程序。
通常,从应用程序配置文件使用 ServiceMetadataBehavior。 有关代码示例,请参见“示例”部分。
构造函数
| ServiceMetadataBehavior() |  
		 初始化 ServiceMetadataBehavior 类的新实例。  | 
        	
字段
| MexContractName |  
		 返回字符串   | 
        	
属性
| ExternalMetadataLocation |  
		 获取或设置作为服务元数据的位置的值。  | 
        	
| HttpGetBinding |  
		 获取或设置当传输为 HTTP 时用于配置元数据检索的绑定。  | 
        	
| HttpGetEnabled |  
		 获取或设置一个值,该值指示是否发布服务元数据以便使用 HTTP/GET 请求进行检索。  | 
        	
| HttpGetUrl |  
		 获取或设置进行 HTTP/GET 请求的元数据发布的位置。  | 
        	
| HttpsGetBinding |  
		 获取或设置当传输为 HTTPS 时用于配置元数据检索的绑定。  | 
        	
| HttpsGetEnabled |  
		 获取或设置一个值,该值指示是否发布服务元数据以便使用 HTTPS/GET 请求进行检索。  | 
        	
| HttpsGetUrl |  
		 获取或设置进行 HTTPS/GET 请求的元数据发布的位置。  | 
        	
| MetadataExporter |  
		 获取或设置用于发布服务元数据的内部 MetadataExporter 对象。  | 
        	
方法
| Equals(Object) | 
		   确定指定对象是否等于当前对象。 (继承自 Object) | 
        	
| GetHashCode() | 
		   作为默认哈希函数。 (继承自 Object) | 
        	
| GetType() | 
		   获取当前实例的 Type。 (继承自 Object) | 
        	
| MemberwiseClone() | 
		   创建当前 Object 的浅表副本。 (继承自 Object) | 
        	
| ToString() | 
		   返回表示当前对象的字符串。 (继承自 Object) |