問題タブ [asynchronous-wcf-call]
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.
wcf - 非同期モードでサービスを呼び出すときにエラーが発生しました
Stackoverflowは間違いなく最速のフォーラムなので、この質問をWCFフォーラムに投稿した後、ここに来ることにしました。
辞書(IDictionary)を返すwcfサービスがあり、問題なく動作します。ここで、非同期モードでそのサービスを呼び出す機能を追加したかったのですが、BeginMethodが実行されると、次の例外が発生します。
タイプSystem.Collections.Generic.Dictionary`2[[System.String、mscorlib、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089]、[TransferProp、Contracts、Version = 10.1.0.0、Culture = neutral、PublicKeyToken = 6f5bf81c27b6b8aa]]は、IDictionaryを実装しているため、サポートされていません。
どうしたの?
wcf - Silverlight での古い WCF 応答の削除
Silverlight では、次の問題が発生しました。Web サービスに対して複数の要求を発行すると、応答が順序どおりに返されない場合があります。つまり、最初のリクエストに次のリクエストよりも時間がかかる場合、そのレスポンスは最後に返されます。
私のシナリオでは、最近行われたリクエストのみに関心があります。したがって、A と B は破棄し、C は受け入れられた応答のみとして保持する必要があります。
これを管理するための最良のアプローチは何ですか? これまでのところ、このソリューションを思いつきました:
要求を送信するときに、生成された GUID をユーザー オブジェクトとして渡し、その値をどこかに保存します。すべての応答にはそれぞれの GUID が含まれるため、古い応答を除外できるようになりました。GUID の代わりに要求カウンターも機能します。
今、これに対するより良いアプローチがあるかどうか疑問に思っています。これを可能にするすぐに使える機能があるでしょうか?どんなアイデアでも大歓迎です..
asp.net - 非同期 Web サービス呼び出しを中止し、別の URL にリダイレクトする (ASP.NET Ajax)
私の webapp には、コード ビハインドから生成され、リピーター コントロールにバインドされたリンクのリストがあります。リンクをクリックすると、ポップアップ ウィンドウが開き、いくつかのデータが表示されるとともに、WCF サービスへの非同期呼び出しが (JavaScript プロキシ経由で) 行われます。このサービスは、応答に時間がかかる可能性がある別のサード パーティの Web サービスを呼び出します。私はIE6で作業しています。これは避けられない要件です。
ここで、ユーザーが呼び出しの完了を待たずにポップアップ ウィンドウを閉じた場合、onunload でこのサービスを中止します。問題は、ユーザーが直後にリピーターから別のリンクをクリックすると、新しいポップアップウィンドウが開きますが、前の非同期呼び出しが完了するまでページをロードしない (提供された URL に移動しない) ことです (私はこれを確認しました)。フィドラー経由)。興味深いことに、これは同じドメイン内のリンクに対してのみ発生します。ポパスの 1 つのリンクをたとえば www.google.com に変更すると、ウィンドウが開き、意図したとおりの正しい URL に移動します。ただし、自分のドメイン内のリンクを含むポップアップの場合、未完了のリクエストを含むポップアップ ウィンドウが閉じられた直後に開かれ、URL をロードする前に前のリクエストが完了するまで待機します。
コールバックを中止する正しい方法を確認しましたが、中止は適切に実行されます。また、サーバー側の呼び出しではなく、クライアント側の呼び出しのみを中止できることも知っており、気にしません。私の唯一の要件は、前の非同期応答に関係なく、ブラウザが次のリンクをロードすることです。
背景に関する役立つ/類似のリンク:
browser-waits-for-ajax-call-to-complete-even-after-abort-has-been-call-jquery aborting-an-asp-net-web-service-asynchronous-call canceling-ajax-web-service-電話
誰もこれに直面しましたか?それは私を夢中にさせます!どんな助けでも大歓迎です。
wcf - Windows サービスでホストされている WCF サービスの非同期呼び出し
Windows サービスで WCF サービスをホストしました。WCF サービス参照を追加し、クライアントを生成したコンソール アプリがあります。
サービスへの同期呼び出しを行うことはできますが、非同期呼び出しは機能していないようです。サーバープロセスをアタッチすると、サービスにまったくヒットしません。
これは既知の問題ですか?
.net - 非同期 Web サービスの設計パターン
WCF Web サービスに接続された Silverlight アプリを作成する場合、Web サービスを使用する際に提示される唯一のオプションは、WS インターフェイスへの非同期呼び出しを行うことです。
すなわち
Web アプリケーション (セーフティ ネット) を作成するときに非同期呼び出しを行う理由は理解できますが、各ステップが Web サービス呼び出しの結果に依存するメソッドを作成する場合、どのような設計パターンを使用するのでしょうか?
たとえば、訪問者のユーザー資格情報をチェックするメソッドが Web サービスにある場合、そのユーザーのグループに応じて何らかのアクションを実行します。
以前の非同期呼び出し完了イベントによってトリガーされるメソッドの「ドミノ」設計を使用せずにこれを達成する方法はありますか? クライアント/サービスのやり取りが多いと、面倒になる可能性があるようです。
ありがとう!
wcf - Silverlight 3 からの非同期 Web サービス呼び出し
Silverlight 3 から wcf サービスを呼び出し、別のスレッドで UI を更新するシナリオでのイベントの順序付けに関して質問があります。基本的に、自分のやっていることは正しいのか知りたいのですが... サンプルは以下の通りです。これは私の最初の投稿です。実際のコードを投稿する方法がわからないため、ご容赦ください。サンプルは次のとおりです。
したがって、私の質問は基本的に、応答をロードしているときにUIスレッド内で例外がスローされた場合、「最終的に」ブロックがそれをキャッチしますか? そうでない場合は、応答をロードしているラムダ内に別の try/catch を配置する必要がありますか?
また、UI スレッドでロードを実行しているため、UI スレッドの更新が完了する前に finally が実行される可能性はありますか? その結果、ロードが完了する前に Servicehelper.CloseService() を呼び出すことができますか?
このアプローチを使用すると断続的な問題が発生するため、質問します。
asp.net - nullを返す非同期Webサービス呼び出し(ASP.NET非同期ページから呼び出されます)
WCFに実装されているサードパーティのWebサービスを利用しています。
私のコンシューマーコードはASP.NET非同期ページにあります。
問題は、BeginCallWebService()メソッドがnullを返す場合があることです。常にIAsyncResultオブジェクトを返す必要はありませんか?
Webサービス開発者にコードを変更するように依頼する必要がありますか、それともnullは正当な応答ですか?
.net - [OperationContract(IsOneWay = true)] と、生成された非同期操作のチェックボックスをオンにすることの違いは何ですか?
WCFメソッドをマークすることの違いは何ですか?
[OperationContract(IsOneWay = true)]
サービス参照を追加するときに属性と非同期操作の生成チェックボックスをオンにしますか?
私が読んだことから、呼び出しの非同期性はクライアント側でのみ定義する必要があるようです。もしそうなら、のポイントは何[OperationContract(IsOneWay = true)]
ですか?
現在、WCF メソッドで次のメソッドを実行しています。
クライアントのコードでサービス参照を作成し、次のように呼び出します。
indexerClient
WCF サービスのインスタンスはどこにありますか。
これも機能するはずですか?そうではないようですが、スレッドが完了するのを待ってから戻るようです。
c# - WCF 3.5 RESTエンドポイントは関連するメソッドを非同期的に呼び出しますか?
WCF 3.5 RESTエンドポイント(WebServiceHost経由)がURI要求を処理する場合、関連するプロシージャを非同期的に呼び出しますか?
ありがとう、
スコット