3

サービスホストに任意のIPのベースアドレスを持たせたいので、これを試しました

new ServiceHost(typeof(LoggingController),new Uri("0.0.0.0"));

無効なURI形式が表示されます

誰もこれをどのように書くべきか知っていますか?

ローカル LAN の外からアクセスしようとしたのですが、うまくいきませんでした。うまくいったので、私がする必要があるのは、Webservice に同じ設定をすることだけだとわかりました –</p>

TcpListener tcpListener = new TcpListener(IPAddress.Any,10021);

これは、システム管理者がポート/サーバーに外部からアクセスできることを確認する仕事をしたことを意味します。それは機能しますが、外部からアクセスできません。同じPCでクライアントを実行すると、同じPCからアクセスできます

4

2 に答える 2

4

次のコードは、同様の状況で機能します。

Uri baseAddress = new Uri("net.tcp://0.0.0.0:8080/MyService");
host = new ServiceHost(typeof(MyServer), baseAddress);
于 2011-09-25T23:14:51.703 に答える
1

ソフトウェアで発生した問題を思い出します。Web サービスの既定の構成では、Windows ネットワーク資格情報を使用してメッセージ ベースのセキュリティを適用していましたが、ドメイン/ネットワーク資格情報が原因で、別のネットワークからは機能しません。私たちの解決策は、サービス バインディングのセキュリティを無効にすることでした (使用するバインディングによっては、これは少し難しいかもしれません)。WebHttpBindingコンストラクターでパラメーターを渡すだけのようなデフォルトのバインディングの場合。お役に立てれば!

于 2010-08-08T13:06:56.383 に答える