問題タブ [httptaskasynchandler]
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# - HttpTaskAsyncHandler の使用方法
非同期ハンドラーを作成し、文字列を返したいだけです。どうすればこれを機能させることができますか? 非同期メソッドとタスクを操作するための簡潔なリファレンスはありますか?
c# - MVC 5 / .NET 4.5 - 長時間実行されるプロセス
Rackspace に計算を行う Web サイトがありますが、計算には 30 秒から数分かかります。もともとこれを SignalR で実装しましたが、CC の使用が多すぎるため、ヤンクする必要がありました。Hosted Rackspace サイトは、実際にはそのような用途向けには設計されていません。法案は屋根を突き破った。
基本的なコードは以下のとおりで、私のテスト サーバーでは完全に動作しますが、ウォッチャーが計算を強制終了したために計算に 30 秒以上かかると、もちろん Rackspace でタイムアウト エラーが発生します。(古いコード) ストリームを存続させるには、操作でストリームに書き込む必要があると言われました。昔は、スレッドを開始し、スレッドが終了するまでサイトをポーリングしていました。より良い方法があれば、私はそれを取ることを好みます。
.NET 4.5 では、HttpTaskAsyncHandler を使用してこれを実現できるようです。しかし、私はそれを取得していません。以下の (新しいコード) は、使用中の古いコードを取り、それを ProcessRequestAsync タスクに配置することによって使用するハンドラーを理解しているとおりです。CalcHandler / Calc を呼び出そうとすると、ルーティングに関係している可能性が高い 404 エラーが発生します。このリンクをたどろうとしましたが、動作させることもできませんでした。追加名は「myHandler」ですが、リンクの例は「feed」です。彼らは、クラス ライブラリを作成したと述べましたが、コードを現在のコードと同じプロジェクトに含めることはできますか?
http://codewala.net/2012/04/30/asynchronous-httphandlers-with-asp-net-4-5/
補足として、HttpTaskAsyncHandler を使用すると、数分かかる場合、完了するまで要求を存続させることができますか? 基本的に、私が達成しようとしていることに何か他のものを使用する必要があります。
古いコード
新しいコード
c# - HttpTaskAsyncHandler - ブロックしているように見えますが、何か問題があることはわかっています
以下のコードには、doit を呼び出す HttpTaskAsyncHandler があり、最初に 5 秒遅延して、文字列をブラウザーに書き込みます。
2 つのブラウザー タブを開いて、両方でこのページを呼び出すとします。1 回目は 5 秒で、2 回目は 10 秒で応答します。
2 番目の要求が最初の要求が完了するまで待機するのはなぜですか? 遅延は、仕事をするのにかかった時間を表すためのものでした。