問題タブ [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.
silverlight - Windows Phone 7 で HttpWebRequest.EndGetResponse が NotSupportedException をスローする
Silverlight-Windows Phone 7 プロジェクトでは、HttpWebRequest を作成し、RequestStream を取得し、ストリームに何かを書き込んで応答を取得しようとしていますが、常に NotSupportedException を取得します: "System.Net.Browser.OHWRAsyncResult.AsyncWaitHandle がスローされましたタイプ「System.NotSupportedException」の例外
私の製品コードははるかに複雑ですが、次の小さなコードに絞り込むことができます。
}
このコードの何が問題なのか誰か知っていますか?
.net - EndInvoke の引数
デリゲート foo があり、BeginInvoke を呼び出して、IAsyncResult を var bar に取得します。
次に、EndInvoke(bar) を呼び出すと、すべて満足です。
endinvoke にバーを渡す必要があるのはなぜですか? これを要求する正確に何が起こっているのですか?リソースリークの可能性を解消するためにEndinvokeが必須であることは理解していますが、このパラメーターは意味がありません...
c# - AsynchResultオブジェクトを再構築することでプッシュテクノロジーをシミュレートする-それも可能ですか?
最近、HttpAsyncHandlerを使用してロングポーリングサービスを正常に作成しました。開発中に、繰り返し長いポーリングを行わなくても、AsyncResultオブジェクトを何度も再利用できる可能性があります。可能であれば、AsyncResultを何らかの方法で再構築または再利用することで、プッシュテクノロジーを「シミュレート」することができます(最初のリクエストをサブスクリプションリクエストであるかのように扱います)。
もちろん、最初の呼び出しはうまく機能しますが、その後の呼び出しでは「オブジェクトがオブジェクトのインスタンスに設定されていません」というメッセージが表示され続けます。私が「推測」しているのは、特定のオブジェクトが静的であるため、「完了」すると再利用または取得できないためです(洞察があれば素晴らしいです!)。
だから問題は…</p>
古いコールバックから新しいコールバックを動的に構築することは可能ですか?
最初の「サブスクリプション」プロセスは次のようになります。
サービスの機能の例を次に示します。
AsyncResult.ProcessRequest()呼び出しの例を次に示します。
だから...このような何かが可能でしょうか?
私は文字通りこれを試しましたが、うまくいきませんでした...しかし、何かが「好き」なことは可能ですか?
dotnetopenauth - DotNetOpenAuthと非同期WebRequest(BeginGetResponse)
DotNetOpenAuthサンプルには、呼び出しを非同期で実行するための例は含まれていません。これが私の実装です。何か間違ったことをしているのか知りたいのですが。
明確にするために、これは私にとっては問題なく機能していますが、サンプルの実装では、明確な結果を達成しないクラスがさらにいくつか使用されています。彼らは、コンテンツエンコーディングが奇妙に設定されていないことを確認し、応答がnullでないことを確認しているように見えます。どちらも、私のコードはおそらくとにかく例外をスローします。意図したサーバーからの応答を検証するようなことは何もしていないようです。これは、HTTPSリクエストであるため、私の特定のシナリオではとにかくありそうにありません。私はこのように物事を行うことによって何かを逃していますか?私は確かにパフォーマンスの面で多くを獲得しています!
c# - Label.Text = Struct.Value (Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException)
ISP (ダウンロード クォータ) から使用状況をポーリングするアプリを開発中です。「new Thread(ThreaProc)」を介してこれをスレッド化しようとしましたが、うまくいきませんでした。現在、同じことを行う IAsyncResult ベースのアプローチを試みています...修正方法がわかりません。助けてください。
知っておくべきこと:
.net - 非同期コールバックで負荷の高い処理を行ってもよろしいですか?
.NET の非同期コールバックで重い処理を行って、戻る前に数秒間それらを占有しても問題ありませんか? それとも、OS / ランタイムから重要なリソースを奪っていますか?
たとえば、 を考えてみましょうTcpListener.BeginAcceptSocket
。私のコールバックは を呼び出すことから始まりEndAcceptSocket
、しばらくデータを受信してからソケットを閉じて戻ります。これは意図された使用方法ですか、それとも自分のスレッドで余分な処理を行う必要がありますか?
sql-server-2005 - SQLCommand.EndExecuteNonQuery 使用時の SQL 構文エラー
バックグラウンド ワーカーで非同期に 2 つの SQL ステートメント (MSSQL 2005) を実行しようとしています。ただし、最初の SqlCommand で EndExecuteNonQuery メソッドを呼び出すと、「SQL syntax error near」エラーが発生します。
これが私のコードです:
最初は失敗するcount = sqlCmd.EndExecuteNonQuery(result);
asp.net - プロセスモデルminFreeThreadsの説明
スループットの問題を解決するために、.netプロセスモデルを変更しています。私はそこにある多くの記事を読みましたが、minFreeThreadsプロパティについていくつか説明する必要があります。この値を上げると、送信要求を処理する(外部Webサービスを呼び出す)ためにより多くのスレッドが予約されることを意味しますか?
ユースケース:コールバックがリクエスターに応答するのを待っている非同期ハンドラーがあります。制限時間を超えたリクエストが「データなし」で応答するようにするタイマーがあります。応答が必要なこれらのリクエストが100個ある場合、minFreeThreadsの値が高いと、これらのリクエストの多くが送信されますか?
.net - .Netでタスクを実行する時間を制限するにはどうすればよいですか?
.Netでタスクを実行する時間を制限する方法はいくつかあることを知っていますが、他に見逃したものや、以前に使用した方法の変更/改善があるかどうか疑問に思いました。
方法論がどのように正確に機能するかわからない場合は、質問を含めました。
私が知っている既存の方法は、必ずしも自分で使用しているわけではありません。
- を作成し
Thread
、ポーリングして一定時間終了してから、スレッドを強制終了します。このソリューションは、やや厄介なものに依存しているため、優れていThreadAbortException
ません。コードがどこで終了するかは保証されていません。つまり、管理されていないリソースが使用されたままになる可能性があります。 - パターンを使用し
IAsyncResult
ます。これに伴う問題は、一定の時間待つことができるが、リクエストを中止することを通知する簡単な方法がないため、ブールフラグ(または同様のもの)の設定に依存する必要があることです。 )非同期コード内でチェックされ、停止します。ここでの問題は、非同期コードがコードの特定のセクションでスタックしている場合、実際に終了する前にしばらくの間実行し続ける可能性があることです。 - 私はよく人々
BackgroundWorker
が非同期のものを推奨するのを見てきましたが、ASP.Netでこれを使用できますか(私はそう思います)、一定時間後に非同期プロセスを終了する簡単な方法がありますか? - .Net 4.0でタスクAPIを使用します(現在、すべての作業は.Net 3.5に制限されているため、オプションではありません)。MSDNのドキュメントをざっと読むと、を使用してタスクを簡単にキャンセルできるように見えますが
CancellationToken
、キャンセルはどのくらいの速さで有効になり、finally
ブロックが確実に呼び出されるようになりますか。
すべてのソリューション/提案/方法論を歓迎します
c# - すぐに完了するIAsyncResultを作成するにはどうすればよいですか?
BeginDoSomething
とメソッドの実装を必要とするインターフェースを実装していますEndDoSomething
。しかし、私DoSomething
は本当に長期的ではありません。簡単にするためDoSomething
に、2つの変数のみを比較し、a>bかどうかを返すと仮定します。
したがって、BeginDoSomethingは次のようになります。
何を返せばいいのかわからない。BeginDoSomething
私のメソッドが長時間実行されているためではなく、実装する必要があるためにのみ実装します。自分で実装する必要がありIAsyncResult
ますか?.NETライブラリにすでに実装がありますか?