2008-09-11 14 views
18

IISでWCFサービスをホストしているときに、このタグが無視されています。私はこれを自己ホストする必要があるが、これは有害であるか、IISで動作するときに使用されることを理解していますか?WCFサービス設定ファイルに関する質問<baseAddresses>

ex。私は1台のマシンからサービスを記述した設定ファイルを取得し、完全に別のマシン上でそれを使用して、それが正常に動作することができます見てきたものから、

<system.serviceModel> 
    <service blah blah blah> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost/blah" /> 
     </baseAddresses> 
    </host> 
    </service> 
</system.serviceModel> 

。 IISがこのセクションを完全に無視しているかのように見えます。あなたが推測したように、IISでホストする場合

おかげで、 カイル

答えて

34

は、baseAddresses要素が完全に無視されます。サービスのベースアドレスは、wcfサービスが置かれているWebディレクトリ&仮想ディレクトリによって決まります。

セルフホスティングの場合でも、baseAddressesは必要ありません。これは、各エンドポイントの完全なアドレスを入力する必要がないようにする便利な方法です。存在する場合、エンドポイントは相対アドレスを持つことができます(つまり、ベースアドレスに対して相対的です)。

+3

だから、相対アドレスエンドポイントは文句を言わないBASEADDRESS URLは無視されますにもかかわらず、動作しますか? – codeulike

2

セルフホストに必要なベースアドレス。 IIS/WASホストは、ベースアドレスを無視します。

2

以下のリンクのMSDN Microsoftのドキュメントによれば、「インターネットインフォメーションサービス(IIS)またはWindowsプロセスアクティブ化サービス(WAS)でホストされているサービスは、仮想ディレクトリをベースとして使用します住所。" BASEADDRESSが指定されていない限り

http://msdn.microsoft.com/en-us/library/ee358768(v=vs.110).aspx

関連する問題