11

はじめに:

数日前、Windows サービスでホストされている WCF サービスの実装に成功しました。StackOverflow のコミュニティは、ここでWSDL を公開するのに役立ちました。あらためて感謝いたします。しかし最近、このサービスの別の潜在的なクライアントがサービスと同じマシン上にあることがわかりました。これにより、namedPipesBinding で別のエンドポイントを追加する必要があると思いました。

名前付きパイプは、私に関する限り、マシン内通信に最適なソリューションのようです。これが間違っている場合は修正してください。

問題:

同じサービス/コントラクトの別のエンドポイントを公開する必要がありますが、今回は netNamedPipeBinding を使用します。ただし、クライアントからサービス参照を追加する方法が本当にわかりません。愚かにも追加した後

<endpoint address="net.pipe://localhost/OfficeService"
          binding="netNamedPipeBinding"
          contract="netBridge.Development.OfficeService.IWordService"
          bindingConfiguration="localBinding" />

net.pipe://.... url を入力して、同じマシンにある Windows フォーム アプリケーションにサービス参照を追加しようとしました。うまくいきませんでした。mex (MetaData Exchange) エンドポイントは必要ないと考えたため、以前に削除したことに言及する必要があります。

  1. この mex エンドポイントは、名前付きパイプ エンドポイント バインディングの検出に必要ですか?
  2. クライアント アプリのサービス参照を名前付きパイプ エンドポイントに追加するにはどうすればよいですか?
4

2 に答える 2

13

あなたのエンドポイントは問題ないように見えますが、localBinding の内容に興味があります...

最も簡単なオプションは、名前付きパイプ クライアントのエンドポイント構成をサービス エンドポイントに合わせて変更することです。クライアント構成ファイル内の唯一のエンドポイントである限り、クライアントは気にする必要はありません。それ以外の場合は、エンドポイントに名前を追加し、プロキシ オブジェクトを新規作成するときにクライアントに特定の名前を選択させる必要があります。

幸運を!

于 2008-10-08T21:27:08.647 に答える