ServiceMetadataBehavior ServiceMetadataBehavior ServiceMetadataBehavior ServiceMetadataBehavior Class

定義

サービス メタデータと関連情報の公開を制御します。Controls the publication of service metadata and associated information.

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
継承
ServiceMetadataBehaviorServiceMetadataBehaviorServiceMetadataBehaviorServiceMetadataBehavior
実装

構成ファイルで ServiceMetadataBehavior を使用して HTTP/GET および WS-Transfer/GET 要求のメタデータ サポートを有効にする方法を次のコード例に示します。The following code example demonstrates the use of ServiceMetadataBehavior in a configuration file to enable metadata support for HTTP GET and WS-Transfer GET requests.

        // 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> アプリケーション構成ファイル内の要素) を有効または、サービス メタデータの公開を無効にします。Add a ServiceMetadataBehavior object to the ServiceDescription.Behaviors collection (or the <serviceMetadata> element in an application configuration file) to enable or disable the publication of service metadata. ただし、サービスに動作を追加するだけではメタデータの公開を有効にできません。However, adding the behavior to a service is not sufficient to enable metadata publication:

  • WS-Transfer GET によるメタデータの取得を有効にするには、さらに、コントラクトが IMetadataExchange であるエンドポイントをサービスに追加する必要があります。To enable WS-Transfer GET metadata retrieval, you must also add an endpoint to your service in which the contract is IMetadataExchange. 例については、「方法: コードを使用してサービスのメタデータを公開します。For an example, see How to: Publish Metadata for a Service Using Code. IMetadataExchange エンドポイントは他のエンドポイントと同様に構成できます。The IMetadataExchange endpoint can be configured as can any other endpoint.

  • HTTP GET によるメタデータの取得を有効にするには、HttpGetEnabled プロパティを true に設定します。To enable HTTP GET metadata retrieval, set the HttpGetEnabled property to true. HTTP GET メタデータのアドレスの詳細については、次を参照してください。HttpGetEnabledします。For more information about the address of HTTP GET metadata, see HttpGetEnabled.

アドレス、IMetadataExchangeベース アドレスとエンドポイント アドレスの組み合わせに関する通常の規則に従います。The address of the IMetadataExchange endpoint follows the normal rules regarding the combination of base addresses and endpoint addresses. 詳細については、次を参照してください。メタデータの公開します。For more information, see Publishing Metadata.

構成ファイルを使用してメタデータの公開を有効にするには追加、 <serviceMetadata> 要素を <serviceBehaviors> 要素を持つ要素を関連付けると、 <サービス>メタデータを公開する要素。To enable the publication of metadata using a configuration file, add the <serviceMetadata> element to the <serviceBehaviors> element and associate the element with the <service> element for which you want to publish metadata. 例については、「方法: 構成ファイルを使用してサービスのメタデータを公開します。For an example, see How to: Publish Metadata for a Service Using a Configuration File. このクラスには、次のメンバーがあります。The class has the following members:

  • HttpGetEnabled プロパティ。HTTP/GET 要求に対してメタデータが返されるかどうかを指定します。The HttpGetEnabled property specifies whether metadata is returned for HTTP/GET requests.

  • HttpGetUrl プロパティ。ベース アドレスと組み合わせて使用され、HTTP/GET アドレスを指定します。The HttpGetUrl property (in conjunction with the base addresses) specifies the HTTP/GET address.

  • HttpsGetEnabled プロパティ。HTTPS/GET 要求に対してメタデータが返されるかどうかを指定します。The HttpsGetEnabled property specifies whether metadata is returned for an HTTPS/GET request.

  • HttpsGetUrl プロパティ。ベース アドレスと組み合わせて使用され、HTTPS/GET アドレスを指定します。The HttpsGetUrl property (in conjunction with the base addresses) specifies the HTTPS/GET address.

  • MetadataExporter プロパティ。基になるエクスポーターを返します。The MetadataExporter property returns the underlying exporter.

通常、ServiceMetadataBehavior はアプリケーション設定ファイルから使用されます。Typically the ServiceMetadataBehavior is used from an application configuration file. コード例については、「使用例」のセクションを参照してください。See the Example section for a code example.

コンストラクター

ServiceMetadataBehavior() ServiceMetadataBehavior() ServiceMetadataBehavior() ServiceMetadataBehavior()

ServiceMetadataBehavior クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceMetadataBehavior class.

フィールド

MexContractName MexContractName MexContractName MexContractName

文字列 IMetadataContract を返します。Returns the string IMetadataContract.

プロパティ

ExternalMetadataLocation ExternalMetadataLocation ExternalMetadataLocation ExternalMetadataLocation

サービス メタデータの位置である値を取得または設定します。Gets or sets a value that is the location of service metadata.

HttpGetBinding HttpGetBinding HttpGetBinding HttpGetBinding

トランスポートが HTTP の場合に、メタデータの取得を構成するために使用するバインディングを取得または設定します。Gets or sets a binding used to configure metadata retrieval when the transport is HTTP.

HttpGetEnabled HttpGetEnabled HttpGetEnabled HttpGetEnabled

HTTP/GET 要求を使用した取得用にサービス メタデータを公開するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether to publish service metadata for retrieval using an HTTP/GET request.

HttpGetUrl HttpGetUrl HttpGetUrl HttpGetUrl

HTTP/GET 要求に対するメタデータ公開の場所を取得または設定します。Gets or sets the location of metadata publication for HTTP/GET requests.

HttpsGetBinding HttpsGetBinding HttpsGetBinding HttpsGetBinding

トランスポートが HTTPS の場合に、メタデータの取得を構成するために使用するバインディングを取得または設定します。Gets or sets a binding used to configure metadata retrieval when the transport is HTTPS.

HttpsGetEnabled HttpsGetEnabled HttpsGetEnabled HttpsGetEnabled

HTTPS/GET 要求を使用した取得用にサービス メタデータを公開するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether to publish service metadata for retrieval using an HTTPS/GET request.

HttpsGetUrl HttpsGetUrl HttpsGetUrl HttpsGetUrl

HTTPS/GET 要求に対するメタデータ公開の場所を取得または設定します。Gets or sets the location of metadata publication for HTTPS/GET requests.

MetadataExporter MetadataExporter MetadataExporter MetadataExporter

サービス メタデータを公開するために使用する内部 MetadataExporter オブジェクトを取得または設定します。Gets or sets the internal MetadataExporter object used to publish the service metadata.

明示的なインターフェイスの実装

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

基になるバインディングを、動作をサポートするように構成する IServiceBehavior の実装です。Implementation of IServiceBehavior that configures the underlying bindings to support the behavior.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

基になるバインディングを、サービスの動作をサポートするように構成する IServiceBehavior の実装です。Implementation of IServiceBehavior that configures the underlying bindings to support the behavior on the service.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

サービスの説明が動作をサポートできることを検証する IServiceBehavior の実装です。Implementation of IServiceBehavior that validates that the service description can support the behavior.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象