1

これが節のあるものです。

これは、自動生成された SOAP プロキシ (System.Net.SoapHttpClientProtocol (C#) のサブクラス) を介した単純な自動生成 Web サービス呼び出しを使用して、.net Compact Framework 3.5.9085.00 を実行している Windows Mobile 6.5 デバイスです。

doInvoke() を呼び出すと、ネットワークに接続していないことを示す System.Net.WebException がすぐにスローされます。通常、これは何らかの Web プロキシまたは接続エラーを示しますが、単純なログ サーバーを Web サービス アドレスに貼り付けると、POST がはっきりと受信されていることがわかり、明らかにネットワークに接続できます。

同じコードは、同じモデルの別のデバイスでも問題なく動作します。単純なログ サーバーを使用すると、他のデバイスへの同一の POST を確認できますが、これは最終的に System.Net.WebException: The operation has timed-out をスローします (取得しないため、そうなります)。応答)。

私は困惑しています。問題を引き起こしている 2 つの設定の違いは間違いありませんが、何が原因かわかりません。

最初のデバイスがサーバーへの書き込み専用接続をセットアップし、応答を読み取ろうとすると失敗するようですが、そのような状況は聞いたことがありません。

誰かこれに光を当てますか?

System.Net.WebException: Could not establish connection to network.
       at System.Net.HttpWebRequest.finishGetResponse()
       at System.Net.HttpWebRequest.GetResponse()
       at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
       at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.doInvoke(String methodName, Object[] parameters, WebClientAsyncResult asyncResult)
       ...

    Exception Status: ConnectFailure
    Exception Message: Could not establish connection to network.
    No Inner exception. 
4

1 に答える 1

0

この奇妙な動作は、デバイスの WiFi ネットワーク アダプターが「インターネット」ではなく「仕事」に設定されていることが原因であることが判明しました。

これは、コントロール パネルから設定するか、レジストリ キーを追加して設定できます。

HKLM\ControlPanel\WiFi\Ethernet

値を含む

"DestId"="{436EF144-B4FB-4863-A041-8F905A62C572}"

(これはインターネットの GUID です)。

このレジストリ キーが存在しない場合、'Work' がデフォルトのようです。

この値が設定されるとすぐに、接続は正常に機能しました。

接続が「Work」モードで送信できるのに受信できない理由 (どちらもしないのではなく) はまだ謎ですが、これで解決しました。

于 2015-06-05T17:25:41.187 に答える