問題タブ [iasyncresult]

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.

0 投票する
2 に答える
467 参照

asp.net - 複数の HTTP リクエストを送信して、同じ I/O 完了ポートを待機する

私のアプリケーションは、Web サービスと "Application_Start" から大量の情報を非同期にロードします。

ユーザー要求がその情報を使用したいが、準備ができていない場合、スレッドは Monitor.Wait でブロックされます。情報の準備が整うと、キャッシュ オブジェクトは、待機中のすべてのスレッドを Monitor.Pulse します。情報には数十秒かかり、ユーザーはログイン ページにリダイレクトされ、ログイン情報を投稿し、再度リダイレクトされる必要があるため、これで問題ありません。

問題は、Monitor.Wait が CLR ThreadPool スレッドをブロックすることです。「大きな情報」を要求する要求のバーストが到着したかどうかを知る限り、アプリケーションは CLR ThreadPool の枯渇によってブロックされたままになる可能性があります (私は少し混乱しています)。現在の IIS/ASP.NET スレッド ゲーティングを使用)。

大部分の情報は、非同期で呼び出す Web サービスから取得されるため、その操作の IAsyncResult を取得します。

では、CLR ThreadPool スレッドに「この IOCP を待機する」ように指示して、スレッドプール スレッドが他の呼び出しに参加できるようにする方法はありますか?

これはよく説明されていないように感じます。質問の内容が明確でない場合はお知らせください。

よろしく。

PS: 報奨金は終了しましたが、その方法を誰かが知っている場合は、新しい方法を作成して著者に付与します。

0 投票する
1 に答える
1129 参照

iasyncresult - IAsyncResult と AsyncCallback を使用して複数の WCF サービスを呼び出す

私は 1 つの Web ページ MyWebPage.aspx を持っています。これは、ロード中に 2 つの Web サービスからのデータを独自のアルゴリズムとともに表示する必要があります。

これを同期的に呼び出すと、読み込みに 10+10+5 = 25 秒かかります。

そこで、IAsyncResult/AsyncCallbackを使った「非同期呼び出し方式」を提案されました。これで、すべてが同時に呼び出され、ページが最大 10 秒で読み込まれるようになります。

だから私は今、「開始/終了」の方法でそれらを呼び出します...

上記の例の問題は、ページが 5 秒後に読み込まれるため、MyLabelI と MyLabelII Text が設定されないことです。

EventLog への書き込みでチェックされるように、両方の End メソッドが正しく呼び出されます。これを解決するにはどうすればよいですか...「すべてが一度に開始され、すべてが完了するまで待機します...」のようなものです。実行中のスレッドが 5 秒以上待機すると、必要に応じてコードが実行されることを理解しています..

AsyncWaitHandle の使用方法...

0 投票する
1 に答える
1292 参照

c# - AsyncWaitHandle.WaitOne は CLR スレッドをブロックしますか? それとも、I/O 完了ポートを作成しますか?

質問がありAsyncWaitHandle.WaitOneます。CLR スレッドはブロックされますか? それとも I/O 完了ポートを作成しますか?

たとえば、アプリケーションを実行するときに、いくつかのデータを初期化するタスク「A」を起動します。新しいリクエストが到着したら、「A」が完了するまで待機させたいので、実行できますIAsyncResult.AsyncWaitHandle.WaitOneが...ブロックしますか'A' が終了するまで、または 'A' 終了時にも通知される I/O 完了ポートを作成します。

そうでない場合、それを行う方法はありますか?

よろしく。

0 投票する
1 に答える
3224 参照

javascript - Node と Lazy: 完了したことをどのように知ることができますか?

ファイルを 1 行ずつ読み取り、それに応じて変数を変更する必要があります。通常はこれを PHP で記述しますが、挑戦することにしました。

私が書いた:

コードが非常に醜く、最適化されていないことは別として、最後の行が出力されたときに「ソフトウェア」変数がまだ入力されていないため、問題が発生しています。Lazy は非同期だと思います。したがって、基本的には機能しますが、「後で」です。これは素晴らしいことですが...ソフトウェア変数を埋める重要なサイクルが実際に終了したときに、どこにコードを記述すればよいのでしょうか?!?

リクエストに応じて: で遊ぶデータ!

「something.txt」を作成して次のように記述します。

メルク。

0 投票する
1 に答える
74 参照

.net - ASyncWCFプロキシでEndSomeMethodを呼び出す

voidを返すWCFプロキシのメソッドがあります。戻り値がvoidでない場合、結果を取得するために対応するEnd ...メソッドを呼び出す必要がありますが、戻り値がvoidの場合はどうなりますか?

例えば:

IIはnullコールバックを渡すだけで、決して呼び出さないEndSaveConfigurationでください。プロキシは何かを保持するのでしょうか、それとも最終的には奇妙な状態になるのでしょうか。

0 投票する
1 に答える
67 参照

c# - 更新されていない値をコールバックに渡す

IAsyncResultパターンを使用して、非同期操作を実装しています。

私の呼び出しの開始の署名は次のとおりです。

callbackMethodが呼び出されると、入力としてデータオブジェクトがあります。field1 varは、SendMessageToSystem内で変更することを目的としていますが、callbackMethodは元の値を受け取り、更新された値は受け取りません。

更新された値をコールバックするためにどのように渡すことができますか?

ありがとう!

0 投票する
2 に答える
204 参照

c# - リストが空なのはなぜですか?

クラス内からリスト ( ListData ) 値にアクセスできますが、クラス外からリストを参照しようとすると、空のリストとして表示されます。

getVideoList メソッドで ListData にオブジェクトを追加します。

このコードを追加したところ、動作するようになりました (Polling method) ,これは非効率的ですか?



0 投票する
2 に答える
899 参照

c# - IAsyncResultが完了せず、UIがロックされます

私はREST呼び出しを行っていますが、サーバー側の応答はXMLの形式です。この呼び出しを非同期で行っています。コンソールアプリケーションとしてテストしましたが、正常に動作します。ただし、XBOXでテストすると、非同期リクエストが完了しません。私のprocessVideoメソッドは、XMLを解析し、アイテムをリストに配置します。別のクラスからこのリストを参照する必要があったため 、リストを参照して利用する前に非同期呼び出しが確実に完了するように(result.IsCompleted == false)を追加しました。非同期リクエストが完了せず、UIがロックされているようですが、何かアイデアはありますか?



0 投票する
1 に答える
504 参照

c# - Determining Error via IAsyncResult that has WebRequest WebResponse in C#

I'm working on a Windows Phone app. Usually I would use a WebClient however, in this specific case I've been told that I need to use a HttpWebRequest. I can successfully fire off the request. However, occassionally it fails. Either because of a network issue or an exception thrown by the server. How do I detect an error associated with the IAsyncResult approach? Currently, I have the following:

My code works fine unless there was an error. I'm not sure how to detect errors though. Thank you!