COM アプリケーションとの統合の概要
Windows Communication Foundation (WCF) により、接続されたアプリケーションを作成するための豊富な環境がマネージド コード開発者に提供されます。 ただし、COM ベースのアンマネージド コードに多額を投資しているために移行を望まない場合でも、 サービス モニカーを使用して、既存のコードに Web サービスを直接統合することができます。 サービス モニカーは Office VBA、Visual Basic 6.0、または Visual C++ 6.0 などの幅広い COM ベースの開発環境で使用可能です。
Note
サービス モニカーは、すべての通信に WCF の通信チャネルを使用します。 このチャネルのセキュリティ メカニズムと識別メカニズムは、標準の COM および DCOM プロキシで使用されるものとは異なります。 また、サービス モニカーは WCF の通信チャネルを使用するため、すべての呼び出しの既定のタイムアウト時間は 1 分間です。
サービス モニカーを GetObject
関数と共に使用することで、アンマネージド コード開発者は、厳密に型指定された COM 固有の方法を使用して WCF Web サービスを呼び出すことができます。 そのためには、WCF Web サービス コントラクトおよび使用されるバインディングの、COM で参照可能なローカル定義が必要です。 他の WCF クライアントの場合と同様に、サービス モニカーは、サービスへの型指定されたチャネルを構築する必要がありますが、このチャネルは、最初のメソッド呼び出し時に、COM プログラマにとって透過的に構築されます。
他の WCF クライアントと同様に、アプリケーションはモニカーを使用する際に、サービスとの通信に使用するアドレス、バインディング、およびコントラクトを指定します。 コントラクトは、次のいずれかの方法で指定できます。
型指定のあるコントラクト - クライアント コンピューターで COM から参照できる型として登録されます。
WSDL コントラクト - WSDL ドキュメントという形で供給されます。
MEX コントラクト - このコントラクトは実行時に Metadata Exchange (MEX) エンドポイントから取得されます。
サービス モニカーでサポートされるパラメーター
サービス モニカーでサポートされるパラメーターを次の表に示します。
パラメーター | 説明 |
---|---|
address |
サービスの URL 位置。 |
binding |
アプリケーション構成のバインディング セクションの名前。 |
bindingConfiguration |
名前付きバインディング セクション内の名前付きバインディング インスタンス。 |
contract |
サービス コントラクトまたは (MEX の) コントラクト名を表すインターフェイス識別子 (IID)。 |
wsdl |
代替形式のコントラクト定義を提供する WSDL ドキュメント。 |
spnIdentity |
サービスとの通信に使用するサーバー プリンシパル名 (SPN) ID。 |
upnIdentity |
サービスとの通信に使用するユーザー プリンシパル名 (UPN) ID。 |
dnsIdentity |
サービスとの通信に使用する DNS ID。 |
mexAddress |
サービスの Metadata 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" シリアライザーのいずれを使用するかを指定します。 |
Note
完全に 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>