問題タブ [getasync]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - HttpClient.GetAsync がリモート サーバーに接続できない
Windows 10 Enterprise タブレットで Windows 8.1 アプリケーションを実行しています。このアプリは、リモート サーバーで実行されている ASP.NET RESTful Web API を呼び出しています。Web API は Windows 認証を使用しています。タブレットには Fiddler がインストールされており、Web API を呼び出すことができるので、Web API が外部から利用できることを証明できます。
呼び出しを行うために使用するコードは次のとおりです。
WebApiAuthClientHandler と WebApiHttpClient は、クラスの静的メンバーです。
_serviceUri はアプリの設定から構築され、「http://10.120.4.0:5000」のような適切にフォーマットされた絶対 URI になります。先ほど言ったように、Fiddler を使用して GET HTTP コマンドを URL " http://10.120.4.0:5000/api/user " に発行すると、タブレットで期待どおりの応答が得られます。
問題は、私の GetAsync 呼び出しが約 21 秒後に例外をスローすることです。ご覧のとおり、タイムアウトを 150 秒に設定しているため、タイムアウトではありません (長すぎることはわかっていますが、今のところ、すべての潜在的な原因を排除しようとしていました)。スローされた例外はタイプ HttpRequestException であり、いくつかのネストされたメッセージは、「接続されたパーティが一定期間後に適切に応答しなかったか、確立された接続が失敗したため、接続の試行が失敗したため、「リモートサーバーに接続できませんでした」ことを通知します接続されたホストが 127.0.0.1:8888 の応答に失敗したため」
適切なリモート URL アドレスを渡して、ローカルではなくリモートで Web API にアクセスしようとしているので、この最後の部分は本当に困惑します。
この問題は、2 週間近く私を悩ませてきましたが、まだ解決していません。どんな提案でも大歓迎です。
ティア、エディ