0

繰り返しの質問かどうかはわかりませんが、検索したため、関連するものは見つかりませんでした。

WCF サービスを作成しましたが、正常に動作します。今、私はそれを展開し、さまざまな場所で使用されるプロジェクトのリファレンスとして使用したいと考えています.

クライアントのサーバーにクライアント用のソフトウェアをインストールする場合、ベースアドレスをサーバーの適切な IP アドレスに変更する必要があります。また、クライアントごとに異なるサーバーに異なる IP アドレスが存在する可能性があり、クライアントごとに特定のベース アドレスを持つ wcf サービスを展開したくありません。

何か提案をして、この分野での最善の解決策を教えてください。

お願いします

私のサービスでは、次のような 2 つのベース アドレスを使用します。

<add baseAddress="localhost:8080/"/>;

もう 1 つは同じようなものですが、net.tcp バインディングを使用します。サービスがクライアント サーバーにデプロイされているときに、localhost の代わりに IP アドレスを使用する方法を知りたい

4

3 に答える 3

0

Visual Studio のアプリケーションのプロジェクト ソース コードには、app.config、web.config、または追加した同様の .config ファイルがあります。展開コード (Windows サービス、PowerShell など) で、ターゲット サーバーまたはマシンにこの .CONFIG ファイルのコピーを作成していると仮定します。

したがって、元の (プロジェクト ソース コード バージョン) では、実際のサーバー名または IP アドレスの代わりにトークンがあります。たとえば、実際のホスト名が「localhost」の場合、

<add baseAddress="localhost:8080/" />

あなたが持っている必要があります:

<add baseAddress="[ServerName]:[Port]/" />

"[ServerName]" と "[Port]" は、後で置き換えるトークンです。デプロイ スクリプトでこれらのトークンを探し、それらを実際のサーバーの DNS 名または IP アドレスに置き換えます (単純な文字列置換)。Windows サービスからそのサーバーに展開するために使用しているメカニズムから、サーバー名または IP アドレスを取得できます。

さらにサポートが必要な場合はお知らせください。

于 2014-06-23T06:10:21.840 に答える