問題タブ [dotnet-httpclient]
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.
c# - Web Api + HttpClient:非同期操作がまだ保留中に非同期モジュールまたはハンドラーが完了しました
ASP.NET Web APIを使用して一部のHTTP要求をプロキシするアプリケーションを作成していますが、断続的なエラーの原因を特定するのに苦労しています。競合状態のようです...しかし、完全にはわかりません。
ここで詳しく説明する前に、アプリケーションの一般的な通信フローを示します。
- クライアントはプロキシ1にHTTPリクエストを送信します。
- プロキシ1はHTTPリクエストの内容をプロキシ2に中継します
- プロキシ2は、HTTPリクエストの内容をターゲットWebアプリケーションに中継します
- ターゲットWebアプリはHTTP要求に応答し、応答はプロキシ2にストリーミング(チャンク転送)されます
- プロキシ2は、プロキシ1に応答を返します。プロキシ1は、元の呼び出し元のクライアントに応答します。
プロキシアプリケーションは、.NET4.5を使用してASP.NETWebAPIRTMで記述されています。リレーを実行するコードは次のようになります。
断続的に発生するエラーは次のとおりです。
非同期操作がまだ保留中に、非同期モジュールまたはハンドラーが完了しました。
このエラーは通常、プロキシアプリケーションへの最初の数回のリクエストで発生し、その後はエラーは再発しません。
Visual Studioは、スローされたときに例外をキャッチすることはありません。ただし、エラーはGlobal.asaxApplication_Errorイベントでキャッチできます。残念ながら、例外にはスタックトレースがありません。
プロキシアプリケーションは、AzureWebロールでホストされます。
犯人を特定する助けをいただければ幸いです。
windows-runtime - 複数の値を持つ WinRT HttpClient ヘッダー承認
Amazon SQS の Authorization ヘッダーを設定する必要がありますが、複数の値が必要です。
ヘッダーを設定すると、例外がスローされます。
System.FormatException : ヘッダー 'Authorization' が複数の値をサポートしていないため、値を追加できません。
コンマで区切られた複数の値でヘッダーを設定するにはどうすればよいですか。
c# - .NET HttpClient. 文字列値を投稿するには?
C# と HttpClient を使用して、次の POST 要求を作成するにはどうすればよいですか。
WEB API サービスに次のようなリクエストが必要です。
c# - WinRT での非同期要求へのタイムアウトの追加
このコードを使用して、低速のインターネット接続に遭遇しないようにするために行っている要求呼び出しに TimeOut を追加し、適切に処理します。
タイムアウト条件を満たすと、拡張機能内で修正できなかったエラー メッセージが表示されます。
一般的に、このタスクをどのように実行しますか?
コード:
使用法:
私AggregateException
はこれで(そしてを介して)処理しますが、タイムアウトが失敗したとき WebException
にも生成されます。AggregateException
c# - WinRT の HttpClient クラスで Keep-Alive 接続を使用していますか?
サーバーへの接続を開くと、WinRT アプリが非常に遅くなります。リクエストの実行には最大 500 ミリ秒かかります。これにより、一部のシナリオがブロックされています。
デバッグ中に、Fiddler がアクティブな場合、リクエストがはるかに高速であることに気付きました (1 リクエストあたり最大 100 ミリ秒)。後でいくつかの検索を行ったところ、Fiddler が呼び出しをプロキシするときに Keep-Alive 接続を使用していたため、プロキシ呼び出しがはるかに高速になったためであることがわかりました。
これを 2 つの方法で再確認しました。
- UseProxy を false に設定すると、リクエストが低速に戻ることがわかりました。
- Fiddler の「接続の再利用」オプションをオフにすると、リクエストが再び低速になることがわかりました。
Connection ヘッダー (.Connection.Add("Keep-Alive")) を介してキープアライブを有効にしようとしましたが、これは効果がないようです。実際、ヘッダーは .NET コンポーネントによって露骨に無視されているようで、リクエストに応じて送信されていません(再び、Fiddlerを介して検査することにより)。
Windows 8、WinRT、HttpClient クラスでリクエストにキープアライブを設定する方法を知っている人はいますか?
c# - HttpClient リクエスト ヘッダーのカスタマイズ
.Net/Web Api で HttpClient のリクエスト ACCEPT ヘッダーを設定して、「application/json;odata=verbose」を含めることは可能ですか?
リクエストのメディア タイプを設定する方法を知っている
しかし、odata=verbose 部分を設定するにはどうすればよいでしょうか。それを行うための解決策をオンラインで見つけることができないようです。
代わりに HttpWebRequest を使用する必要がありますか? 基本的に、sharepoint 2013 rest api を呼び出す必要があり、その odata=verbose 部分が必要です。
asp.net-web-api - HttpClient.PostAsJsonAsync メソッドを使用して複数のパラメータを WebAPI アクションに渡す方法は?
次のような Web API アクションがあります。
HttpClient を使用して呼び出す必要があり、次のように試しています。
ページング情報を get メソッドに渡す必要があります。
OrderDirection は列挙型です。
しかし、それは機能していません。内部サーバーエラーが表示されます。ここで欠落しているものです。列挙型が問題を引き起こしていますか、それとも何か他のものですか? 他の WebAPI は問題なく動作しています。このようなパラメーターを複数持つものはありません。
ここに私のルート構成があります:
複数のパラメーターを使用して WebAPI を呼び出すのは正しい方法ですか、それともより良い方法がありますか?
EDIT-1:これを 変更しました:
に:
それはすべてタイプミスでした:)
編集-2:
EDIT-1 では、リクエストは次の WebAPI メソッドに送られます (これは間違っています)。
しかし、routeConfig を次のように編集すると、次のようになります。
その後、次の例外が発生し始めました。
c# - HttpClientを短すぎるタイムアウトに設定すると、プロセスがクラッシュします
System.Net.HttpClient
短いタイムアウトで使用していると、try-catchブロックでラップされている場合でも、プロセスがクラッシュすることがあることに気付きました。これを再現するための短いプログラムがあります。
これを実行すると、次の例外を除いてプロセスがクラッシュします。
少し掘り下げてみると、関連するものが作成さHttpClient
れる前にリクエストを中止すると、を介してリクエストを作成しようとし、RequestCanceledがスローされるようです。この例外は、リクエストをキャンセルしようとするスレッドでスローされるため、キャッチされず、プロセスは終了します。ServicePoint
HttpWebRequest
ServicePoint
ServicePointManager.FindServicePoint
私は何かが足りないのですか?この問題に遭遇しましたか?
c# - コンテンツが 100% 完了する前に HttpResponseMessage からヘッダーを読み取る
- 応答全体がストリーミングされる前に、応答ヘッダーにアクセスするにはどうすればよいですか?
- ストリームが到着したときにどのように読むのですか?
- HttpClient は、http 応答の受信をきめ細かく制御するための最良の選択ですか?
ここに私の質問を説明するかもしれないスニップがあります:
私にとって別の灰色の領域を明確にするために編集します。
私が発見した参照には、コンテンツが到着するのを待つ原因となる何らかのブロッキングステートメントがあります。私が読んだ参照は通常、streamTask.Result または Content のメソッドまたはプロパティにアクセスしますが、streamTask が進行しているときにどのような参照が問題ないか、タスクが完了するまで待機を引き起こす可能性がある参照を除外するのに十分な情報がありません。完了します。
c#-4.0 - Windows Phone 8のWebサーバーに画像を投稿する
私はかなりうまく機能しているWindows 8アプリを持っています.Windows Phone 8用に同じアプリを書きたいのですが、正しい画像ではなく黒い画像しか得られません.
これは、画像ファイルをアップロードするための私のコードです
これは私の画像をバイト配列に変換するためのコードです
正しい画像ではなく、黒い画像しか得られない理由を誰か知っていますか? 画像は PhotoChooseTask によって選択されました。