MetadataExporter クラス

定義

サービスの説明情報をメタデータにエクスポートします。

public ref class MetadataExporter abstract
public abstract class MetadataExporter
type MetadataExporter = class
Public MustInherit Class MetadataExporter
継承
MetadataExporter
派生

IWsdlExportExtension.ExportContract クラスの State プロパティを使用して、エンドポイントでのデータ コントラクトのエクスポートを変更するカスタム WsdlExporter を結び付ける方法を示す System.Runtime.Serialization.XsdDataContractExporter メソッドを次のコード例に示します。

public void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context)
{
// Add a custom DCAnnotationSurrogate to write data contract comments into the XSD.
object dataContractExporter;
XsdDataContractExporter xsdDCExporter;
if (!exporter.State.TryGetValue(typeof(XsdDataContractExporter), out dataContractExporter))
{
    xsdDCExporter = new XsdDataContractExporter(exporter.GeneratedXmlSchemas);
    exporter.State.Add(typeof(XsdDataContractExporter), xsdDCExporter);
}
else
{
    xsdDCExporter = (XsdDataContractExporter)dataContractExporter;
}

if (xsdDCExporter.Options == null)
    xsdDCExporter.Options = new ExportOptions();
xsdDCExporter.Options.DataContractSurrogate = new DCAnnotationSurrogate();

注釈

メタデータのエクスポートは、サービス エンドポイントを説明したり、それらを並行して計画したりするプロセスで、アプリケーションがサービスを使用するクライアントを実装するためにアクセスできる標準化表現です (通常は XML ですが、必ずしも XML ではありません)。 System.ServiceModel.Description.ServiceEndpoint オブジェクトからメタデータをエクスポートするには、MetadataExporter 抽象クラスの実装を使用します。 MetadataExporter の実装によって、System.ServiceModel.Description.MetadataSet インスタンスにカプセル化されたメタデータが生成されます。

MetadataExporter クラスは、エンドポイント バインディングの機能と要件、エンドポイントに関連付けられた処理、メッセージとエラーを記述するポリシー式を生成するためのフレームワークを提供します。 これらのポリシー式は、System.ServiceModel.Description.PolicyConversionContext インスタンスにキャプチャされます。 MetadataExporter を実装すると、生成したメタデータにこれらのポリシー式を結び付けることができます。

MetadataExporter は、System.ServiceModel.Channels.BindingElement オブジェクトを System.ServiceModel.Description.IPolicyExportExtension の実装で使用するために生成するときに、ServiceEndpoint のバインディングで PolicyConversionContext インターフェイスを実装する各 MetadataExporter を呼び出します。 IPolicyExportExtension 型のカスタム実装の System.ServiceModel.Channels.BindingElement インターフェイスを実装することで、新規のポリシー アサーションをエクスポートできます。

型は System.ServiceModel.Description.WsdlExporter 、Windows Communication Foundation (WCF) に MetadataExporter 含まれる クラスの実装です。 WsdlExporter 型は、結び付けられたポリシー式を使用して WSDL メタデータを生成します。

サービス エンドポイントでのエンドポイント動作、コントラクト動作、またはバインド要素のカスタム WSDL メタデータまたは WSDL 拡張をエクスポートするには、System.ServiceModel.Description.IWsdlExportExtension インターフェイスを実装する必要があります。 WsdlExporter 型は、エンドポイントから WSDL ドキュメントを生成するときに、このインターフェイスを実装するサービス エンドポイントの一部を呼び出します。

プロパティ

Errors

メタデータのエクスポート中に発生したエラーのコレクションを取得します。

PolicyVersion

使用する WS-Policy 仕様のバージョンを指定します。

State

メタデータのエクスポートで使用するオブジェクトのディクショナリを取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExportContract(ContractDescription)

派生クラスでオーバーライドされると、メタデータにコントラクトの説明をエクスポートします。

ExportEndpoint(ServiceEndpoint)

派生クラスでオーバーライドされると、エンドポイントをメタデータに変換します。

ExportPolicy(ServiceEndpoint)

ポリシー アサーションを PolicyConversionContext オブジェクトに変換します。

GetGeneratedMetadata()

派生クラスでオーバーライドされると、呼び出しによって生成されたメタデータを ExportContract(ContractDescription)ExportEndpoint(ServiceEndpoint)、または ExportPolicy(ServiceEndpoint) に返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象