問題タブ [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 投票する
0 に答える
363 参照

asp.net - 非同期タスク _dlgt.EndInvoke(ar) オブジェクト参照がオブジェクトのインスタンスに設定されていません

非同期タスクを実行する必要があるアプリケーションに取り組んでいます。http://msdn.microsoft.com/fr-fr/library/system.web.ui.page.executeregisteredasynctasks.aspxにあるコードを 2 回使用します。

それをコピーしてアプリケーションに貼り付けるだけです。残念ながら、ある時はエラーが発生しましたが、別の時は完全に機能しました。

エラーは次のとおりです。

このエラーから抜け出す方法が本当にわかりません。助けを歓迎します。

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

c# - asyncResultが常にnullになるのはなぜですか?

非同期操作を使用する次のプログラムがありますが、返されるIAsyncResult.AsyncStateは常にnullです。

私が間違っているのは何ですか?

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

c# - EntityFrameworkでプロセスが終了するまで待つ方法は?

私はEntityFrameworkSilverlightと協力しており、この状況に対処しています。からデータを読み込もうとするとEntitySet、コールバックからデータを取得する必要があります。

今、私はデータをすぐに取得する必要があります。つまり、プロセスが終了するまで待つということです。

次のコードでは、プロセスを待ちたい部分はObjectivesプロパティです。または、コールバックメソッドを、などに変換できるかどうかわかりませんIAsyncResult

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

.net - IAsyncResult パターンの強みは何ですか?

TcpClient多くのクラス ( 、UdpClient、 などHttpListener) は、イベント ドリブンであれば理解しやすく使いやすかったと思います。またIAsyncResult、あらゆる種類の奇妙なユースケースが可能になるため、パターンを実装するのは非常に困難です。

  1. 呼び出し元が複数の Begin メソッドを続けて呼び出した場合はどうなるでしょうか?
  2. 呼び出し元が Begin メソッドと通常のメソッドを混在させるとどうなりますか?

等々。それにもかかわらず、マイクロソフトはほとんどの場所でそれを使用することを選択しました。なんで?

編集: .NET 2.0 についての議論に集中してください。

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

c# - 非同期ソケット: すべてのデータが送信される前にこのスレッドをブロックします

に関してasynchronious sockets、すべてのデータが送信される前にスレッドを保持できるかどうかを知りたいですか?

を使用してSocket.BeginSend

バッファパラメータ内のデータを送信します。すべてのデータが実際にここから送信される前に (反対側でデータが受信されたかどうかに関係なく)、スレッドをブロックする方法を教えてください。メソッドを呼び出すことができますSocket.BeginReceiveか?

--

ManualResetEventデリゲート (私は "sendDone" と呼びました)を使用するだけで十分でしょうか?

例:

これで十分ですか?または、より良い代替手段はありますか?

ansのthx

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

c# - C# ASMX Web サービスの呼び出し

仕事の一部として利用する必要がある ASMX Web サービスがあります。ASPX ページ経由でこのサービスを呼び出して、サード パーティ システムで新しいエンティティを作成しています。そのサービスの基盤となるコードにはアクセスできません。単に別のシステムと通信できるようにするためです。

サービスを正しく呼び出しているかどうかを判断するのに苦労しています。誰かアドバイスをいただけないでしょうか。

ASMX ページをインストールしました。これにより、BeginProcessOperations メソッドと呼ばれるクラス「ConfirmConnector」が提供されました。それが戻ってくるのを待ってから、結果を解析したいと思います。結果は XML である必要があり、それをステップスルーして目的のデータを取得します。

問題は、このプロセスが時々死んでしまうことです。つまり、「EndProcessOperations」メソッドを呼び出しても何も起こりません。エラーは発生しません。コードが終了し、メソッドが返されます。

私の呼び出しコードは次のとおりです。

私のハンドラーコードは次のとおりです。

このコードを正しい方法で処理しているかどうか誰でもアドバイスできますか?また、ハンドラーのこの行の後に私のコードがランダムに爆撃する理由を誰か知っていますか?

助けてくれてありがとう、ポール

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

c# - C# のコンストラクターを持つ AsyncResult クラス

AsyncResult オブジェクトのインスタンス化を検討していますが、インスタンス化できる .Net Frameowork のコンストラクターを持つ AsyncResult クラスがないようです。

誰かが C# で IAsynResult インターフェイスの実装をすぐに提供できますか? または、AsyncResult オブジェクトをインスタンス化するトリックの方法はありますか?

編集 1: ASP.Net ページ内で非同期タスクを作成しています。begin メソッドでは、「AsyncBeginGetSummary」というデータ レイヤーの静的メソッドを呼び出します。

私は通常、この静的メソッド内で ADO.Net BeginExecuteReader を使用します。これは完全に機能し、AsyncResult オブジェクトをインスタンス化する必要はありません。しかし、データ オブジェクトが ASP.Net アプリの Cache に存在する場合、''AsyncBeginGetSummary' のこの静的メソッドから、BeginExecuteReader を呼び出したくありません。

ただし、ASP.Net のタスクの End メソッドを呼び出せるように、AsyncResult オブジェクトを返す必要があります。私の ASP.Net ページ コードは以下のようなものです。

編集 2: ダミーのメソッド デリゲートを使用して BeginInvoke を呼び出すため、AsyncResult オブジェクトのインスタンス化を気にする必要がない場合は、次のようになります。

編集 3: WCF で次の AsyncResult 実装を使用しました。ASP.Net でも使えると思います。

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

c# - SilverlightWCFでの非同期コールバックスレッドロック

同期呼び出しのSLWCFサポートを偽造する方法についてのアイデアを思いつきました。

基本的に、

何が起こるかというと、これは永遠にループします。

whileループにブレークポイントを設定し、それを移動して実行を再開すると、次のミリ秒で結果が到着します。

したがって、結果を受け取るクエリのコールバックは、クエリが呼び出されたのと同じスレッドのキューに入れられると思います。

SLはこの動作を維持することを非常に決意しているようです。そのためmyQuery.BeginExecute、新しいスレッドでラップしても、同じ動作が得られます。

/ *編集:実際、それについて考えると、待機しているuiスレッドでコールバックをキューに入れます。これは、結果を得るときに必要がない理由でもありDispatcher.Invokeます。とにかく、私はいつでも専用スレッドで(待機が必要な)操作全体を実行し、そこで待機することができますが、これには大量のリファクタリングが必要になり、これを試すポイントは避けられます。* /

これを回避する方法はありますか?

0 投票する
3 に答える
2878 参照

c# - FromAsyncのBeginXXXの引数が多すぎますか?

私は次の署名を持つ非同期メソッドを持っています:

次のようにFactory.FromAsyncを使用して実行したいと思います。

しかし、次のエラーが発生します。

引数1:「メソッドグループ」から「System.Func」に変換できません

適切なオーバーロードされたFromAsyncメソッドhttp://msdn.microsoft.com/en-us/library/system.threading.tasks.taskfactory.fromasync.aspxはないようです。これは、最大5つの引数(コールバックと状態を含む)のみをサポートします。 BeginXXXメソッドで。

BeginXXXメソッドをリファクタリングして6つの引数ではなくオブジェクトを取得する以外に、FromAsyncを使用してオブジェクトを実行する方法はありますか?

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

wcf - void を返し、OneWay である WCF 非同期呼び出し

2 つのプロセス間の非同期通信に WCF を使用します。
これまで IAsyncResult パターンを実装し、次の 3 つのメソッドを使用してそれを実行しました
。BeginOperation - client.BeginOperation、サービスが受信すると、Operation
Operation のデリゲートを使用してスレッドプールでジョブをキューに入れます。Operation - サービス側で実行
EndOperation - これがクライアント コールバックです。

私の質問は、クライアントからサービスに文字列を送信したい、送信を非同期にしたい、そして応答を取得したくない-サービスに文字列を出力させたいだけです。
これで十分ですか?これはノンブロッキングでなければなりません

または、次のようにする必要があります。