1

ローカルネットワークで複数のwin/webクライアントにサービスを提供するWindowsサービスとして実行されているwcfセルフホストサービスがあります。サービス自体には複数のコントラクト(tcpと名前付きパイプ)があり、そのうちの1つはIIS(任意の形式のhttpバインディング)を介して利用できるようにする必要があります。これにより、www.mypublicdomain.com/public-contractにアクセスするなどの外部からアクセスできます。 svc

現在のトポロジー:

  • サーバーアプリ-wcfWindowsサービス
  • クライアントアプリ1-フォームアプリに勝つ-tcp/ip経由でサーバーアプリに連絡する
  • クライアントapp2-mvcWebアプリ(パブリックドメインを介して内部およびインターネット経由で利用可能)-名前付きパイプ(同じマシン)を介してサーバーアプリに接続します
    • このアプリはiis7でホストされており、この一環として新しいパブリックwcf契約を公開する必要があります。
  • 共有アセンブリ-インターフェイス(サービスコントラクト)が含まれています

質問は、IISを介してWindowsサービスのコントラクトの1つを公開するための最良の方法は何ですか。そのため、その公開されているサービスに対して行われたすべての要求は、バックエンドのWindowsサービスに直接ルーティングされます。

スタックオーバーフローについての私の最初の質問ですが、何か不明な点がある場合は、さらに説明しようと思います。ありがとうございました。

4

1 に答える 1

1

IIS 7を使用している場合は、IISでwcfサービスをホストし、一方のサービスコントラクトをHTTPバインディングで公開し、もう一方の非公開コントラクトをTCP-IPとして公開できます。

サーバーアプリをWindowsサービスとしてホストする必要がある場合は、公開するサービスコントラクトと同じインターフェイスを持ち、呼び出しを渡すだけの新しいIISホストサービスを作成します。

于 2012-07-19T14:18:58.787 に答える