次の方法で共有


方法 : Metadata Exchange コントラクトと共にサービス モニカーを使用する

新しい WCF サービスをいくつか開発した後に、そのサービスをスクリプトまたは Visual Basic 6.0 アプリケーションから呼び出せるようにする必要が生じる場合があります。この方法の 1 つに、WCF クライアント アセンブリを作成し、そのアセンブリを COM を使用して登録して GAC にインストールし、Visual Basic コードで COM 型を参照する方法があります。アプリケーションを配布するときに、WCF クライアント アセンブリも配信する必要があります。次にユーザーは COM を使用して WCF クライアント アセンブリを登録し、それを GAC に配置する必要があります。WCF COM Interop でも、WCF クライアント アセンブリに依存しない同じサービス呼び出しを作成できます。WCF モニカーを使用すれば、サービスに関する型情報を抽出するためにサービス モニカーで使用されるメタデータ交換 (Mex) エンドポイント URI を指定することにより、必要な WCF サービスを任意の COM 互換言語 (Visual Basic、VBScript、Visual Basic for Applications (VBA) など) から呼び出すことができます。ここでは、Mex エンドポイントを指定する WCF モニカーを使用して、 WCF の入門サンプルを呼び出す方法を説明します。

ms733885.note(ja-jp,VS.100).gif注 :
WCF クライアント アセンブリで定義された型は、実際にインスタンス化されることはありません。アセンブリはメタデータにのみ使用されます。

Mex アドレスを使うサービス モニカーの使用

  1. 入門サンプルを構築し、Internet Explorer を使用してその URL (https://localhost/ServiceModelSamples/Service.svc) を参照し、サービスが動作していることを確認します。

  2. Visual Basic スクリプトまたは Visual Basic アプリケーションを作成し、次のコードを記述します。

        monString = "service:mexaddress=https://localhost/ServiceModelSamples/Service.svc/MEX"
        monString = monString + ", address=https://localhost/ServiceModelSamples/Service.svc"
        monString = monString + ", contract=ICalculator, contractNamespace=http://Microsoft.ServiceModel.Samples"
        monString = monString + ", binding=WSHttpBinding_ICalculator, bindingNamespace=http://Microsoft.ServiceModel.Samples"
    
        Set calc = GetObject(monString)
        MsgBox calc.Add(3, 4)
    
  3. 作成した Visual Basic アプリケーションまたはスクリプトを実行します。

    ms733885.note(ja-jp,VS.100).gif注 :
    モニカーがサービスのメタデータを読み取るには、呼び出すサービスで、Mex エンドポイントが公開されている必要があります。詳細については、「方法 : 構成ファイルを使用してサービスのメタデータを公開する」を参照してください。

    ms733885.note(ja-jp,VS.100).gif注 :
    モニカーの形式が正しくないか、GetObject を呼び出せない場合は、"構文が無効です" というメッセージが返されます。このエラーを受信した場合は、使用しているモニカーが正しく、サービスが使用可能であることを確認してください。

参照

処理手順

方法 : WSDL コントラクトと共にサービス モニカーを使用する

概念

方法 : 未登録で Windows Communication Foundation のサービス モニカーを使用する