アクセス可能なnetTcpBindingを使用してWCFサービスをホストできますか(ACCESSIBLEはブラウズ可能を意味することに注意してください)、ローカルホストの外ではなく同じマシン(ローカルホスト)で...イントラネットでもありません。
4 に答える
それが実行されているポートが外部からアクセスできない (たとえば、ファイアウォールによってブロックされている) 限り、そう考える必要があります。
This can also be done at hosting level (in IIS):
- open IIS manager
- select WCF service application folder
- open "IP Address and Domain Restrictions"
- if it's not there, you have to add the "ip and domain restrictions" role to the server
- in "ip address and domain restrictions" enter an allow entry for 127.0.0.1
- then under "edit feature settings" set "access for unspecified" to Denied
Doesn't matter how the service is setup, IIS won't allow access outside 127.0.0.1
EDIT: This feature is not available on IIS 5.1 (Windows XP). You're going to need a firewall, or check out IIS Express.
IIS (net.tcp の場合は 7.0 以降のみ) を使用するか、Windows サービスとして WCF サービスをホストできます。
IIS の場合、サイトまたは Web アプリケーションを作成し、net.tcp プロトコルのポートを使用してバインディングを追加する必要があります。
localhost でのホスティングとリモート コンピューターでのホスティングに違いはありません。
一般に、ローカル接続には NetNamedPipeBinding を使用することをお勧めします
によって提案されたように、ヘンクホルターマン
NetNamedPipeBindingは、loaalhost内でサービスをホストし、サービスが同じマシン内の別のWCFとの通信や、同じマシン内に存在する.Netクライアントとの通信などのプロセス内通信のみを必要とする場合に最適なアプローチです。
繰り返しになりますが、netNamedPipeBindingを使用すると、通信が高速になります。
1)シリアル化はバイナリ形式で行われます。2)ポートを介して通信するnetTcpBindingとは異なり、netNamedPipebindingは名前付きパイプを使用してプロセス間で通信します。
ありがとう。スラジ