Windows Communication Foundation (WCF) は、マネージド コード開発者に、接続されたアプリケーションを作成するための豊富な環境を提供します。 ただし、アンマネージ COM ベースのコードに多額の投資があり、移行したくない場合でも、WCF サービス モニカーを使用して、WCF Web サービスを既存のコードに直接統合できます。 サービス モニカーは、Office VBA、Visual Basic 6.0、Visual C++ 6.0 など、さまざまな COM ベースの開発環境から使用できます。
注
サービス モニカーは、すべての通信に WCF 通信チャネルを使用します。 そのチャネルのセキュリティと ID のメカニズムは、標準の COM および DCOM プロキシで使用されるメカニズムとは異なります。 さらに、サービス モニカーは WCF 通信チャネルを使用するため、既定のタイムアウト期間はすべての呼び出しで 1 分です。
サービス モニカーは、関数と共に使用され、WCF Web サービスを呼び出すための厳密に型指定された COM 固有のアプローチをアンマネージ開発者に提供します。 これには、WCF Web サービス コントラクトと、使用するバインディングのローカルで COM に表示される定義が必要です。 他の WCF クライアントと同様に、サービス モニカーはサービスに対して型指定されたチャネルを構築する必要がありますが、このチャネル構築は最初のメソッド呼び出しで COM プログラマに透過的に行われます。
他の WCF クライアントと共通して、モニカーを使用する場合、アプリケーションはサービスと通信するためのアドレス、バインディング、コントラクトを指定します。 コントラクトは、次のいずれかの方法で指定できます。
型指定されたコントラクト – コントラクトは、クライアント コンピューターで COM 表示型として登録されます。
WSDL コントラクト – コントラクトは WSDL ドキュメントの形式で提供されます。
MEX コントラクト – コントラクトは、メタデータ Exchange (MEX) エンドポイントから実行時に取得されます。
サービス モニカーでサポートされるパラメーター
次の表に、サービス モニカーでサポートされているパラメーターを示します。
パラメーター | 説明 |
---|---|
address |
サービスの URL の場所。 |
binding |
アプリケーション構成からのバインド セクション名。 |
bindingConfiguration |
名前付きバインディング セクション内の名前付きバインディング インスタンス。 |
contract |
サービス コントラクトまたはコントラクト名 (MEX からの) を表すインターフェイス識別子 (IID)。 |
wsdl |
代替形式のコントラクト定義を提供する WSDL ドキュメント。 |
spnIdentity |
サービスとの通信に使用されるサーバー プリンシパル名 (SPN) ID。 |
upnIdentity |
サービスと通信するために使用するユーザー プリンシパル名 (UPN) の識別子。 |
dnsIdentity |
サービスとの通信に使用される DNS ID。 |
mexAddress |
サービスのメタデータ Exchange (MEX) エンドポイントの URL の場所。 |
mexBinding |
MEX エンドポイントに接続するためのアプリケーション構成のバインド セクション名。 |
mexBindingConfiguration |
MEX エンドポイントに接続するための名前付きバインド セクション内からの名前付きバインド インスタンス。 |
bindingNamespace |
取得する MEX のバインディング セクション名の名前空間。 |
contractNamespace |
取得する MEX のコントラクトの名前空間。 |
mexSpnIdentity |
MEX エンドポイントとの通信に使用するサーバー プリンシパル名 (SPN) ID。 |
mexUpnIdentity |
MEX エンドポイントとの通信に使用するユーザー プリンシパル名 (UPN) ID。 |
mexDnsIdentity |
MEX エンドポイントとの通信に使用される DNS ID。 |
serializer |
"xml" または "datacontract" シリアライザーの使用を指定します。 |
注
完全に COM ベースのクライアントと共に使用する場合でも、サービス モニカーは WCF とサポートする .NET Framework 2.0 をクライアント コンピューターにインストールする必要があります。 また、サービス モニカーを使用するクライアント アプリケーションが適切なバージョンの .NET Framework ランタイムを読み込むことも重要です。 Office アプリケーション内でモニカーを使用する場合は、正しいフレームワーク バージョンが読み込まれるように構成ファイルが必要になる場合があります。 たとえば、Excel では、次のテキストは、Excel.exe ファイルと同じディレクトリ内の Excel.exe.config というファイルに配置する必要があります。
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns=
http://schemas.microsoft.com/.NetConfiguration/v2.0
>
<startup>
<requiredRuntime version="v2.0.50727" />
</startup>
</configuration>