1

開発マシンで WCF サービスを作成して開始しました。

http://localhost:8080/ServiceName/FunctionURLとして使用すると、正常に動作します。

URLとして使用するhttp://MY.LAN.IP.ADDRESS:8080/ServiceName/Functionと、LAN内の他のマシンではなく、開発マシンでもどこでも機能しません。

たとえば、Android テスト アプリでは、エラー メッセージには次のように表示されます。

「http://... への接続が拒否されました」

Windows ファイアウォールとウイルス対策を無効にしました。

そのような問題を引き起こしているのは何ですか?サービス構成 (web.config) で何かを構成する必要がありますか?

サービスは ASP.Net 開発サーバー内で実行されていることに注意してください。

4

3 に答える 3

1

このサイトによると、開発サーバーが選択するランダムなポート (この場合は 8080) がファイアウォールで開いているかどうかを確認する必要があります。それが機能しない場合、IIS のバージョンがインストールされ、これらのリモート要求用に構成されていないと、まったく機能するかどうかわかりません。

于 2013-03-14T22:50:31.783 に答える
1

ASP.NET 開発サーバーはリモート接続を受け入れることができないため、ローカル コンピューターの外部からは機能しません。

http://msdn.microsoft.com/en-us/library/58wxa9w5%28VS.80%29.aspx

于 2013-03-14T22:50:43.867 に答える
1

どのように構成されているかわかりません。それは実際に合併症を引き起こす可能性があるためです。しかし、あなたの問題はあなたの中にありますHost。をどのように作成しHostて受け取るかProxies。起こっている可能性のあることの1つ:

ローカル マシンで実行すると、実際に有効にIIS Expressなるため、サービスを表示してテストできます。したがって、その時点で IIS はそれらの要求を処理しています。これにより、問題なく動作します。

その他のジレンマは次のとおりです。

  • 開発サーバーが外部リクエストを受信するように構成されていない可能性があります。
  • IIS サーバーは、これらの要求を受信するように構成されていない可能性があります。
  • または、ランダムなポート使用を作成しました。アクセスできません。

それが起こっている可能性が高いです。IIS が自動的に処理するため。そのうちの 1 つは正しくない可能性が高くなります。

しかし、あなたapp.configServiceHostコードの詳細を見るまで、私たちは確信を持てません.

于 2013-03-14T22:53:00.767 に答える