問題タブ [pollingduplexhttpbinding]
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-4.0 - Silverlightポーリングデュプレックス構成エラー
system.serviceModelの下のweb.configファイルに次のものがあります。
また、ブラウザでサービスにアクセスしようとすると、次のエラーメッセージが表示されます。
パーサーエラーメッセージ:タイプ'System.ServiceModel.Configuration.PollingDuplexElement、System.ServiceModel.PollingDuplex、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35'の拡張機能が拡張機能コレクションに既に表示されています。拡張タイプは一意である必要があります。
したがって、PollingDuplexElementはすでに拡張機能コレクションに登録されているようです。どこで、どんな名前でかわからない。
machine.configファイルを調べてみましたが、ポーリングデュプレックスアセンブリへの参照が見つかりませんでした。また、私のweb.configファイルにはアセンブリへの参照が他になく、Googleはあまり役に立ちませんでした。
どんなアイデアでも大歓迎です:)
multithreading - pollingDuplex シーンの一部としてバックグラウンド スレッドを開始するための最良の方法は何ですか?
クライアント アプリケーションは、サーバー上のイベントを監視する要求を登録します。クライアントのコールバックがディクショナリに追加されます (クライアントによって定期的に更新されます)
サーバーはイベントの MSMQ プライベート キューを監視し、サブスクライバーが登録したイベントが発生すると、サーバーはクライアントを呼び出します。
これは、MSMQ で待機できるバックグラウンド スレッドを開始してから、登録済みのクライアント アプリを呼び出すことにかかっています。このバックグラウンド スレッドを開始する最良の方法は何ですか? 私の最初の試みは、global.asax ファイルの Application_Start イベントで単純に起動することでした。これには、この SO の質問に対する Chris Anderson の回答で説明されているように、多くの落とし穴 があります。
まったく別のアプローチが必要かもしれませんが、そのような提案も大歓迎です。
silverlight - SilverlightでWCFデュプレックスポーリングを使用する場合のデッドロック
私は、SilverlightTVでのTomekJanczukのデモンストレーションに従って、WCF DuplexPollingWebサービスを使用するチャットプログラムを作成しました。クライアントはサーバーにサブスクライブし、サーバーは接続されているすべてのクライアントに通知を開始してイベントを公開します。
アイデアはシンプルです。クライアントには、クライアントが接続できるようにするボタンがあります。クライアントがメッセージを書き込んで公開できるテキストボックスと、サーバーから受信したすべての通知を表示する大きなテキストボックス。
3つのクライアント(IE、Firefox、Chromeのさまざまなブラウザー)を接続しましたが、すべてうまく機能しています。メッセージを送受信します。問題は、ブラウザの1つを閉じると始まります。1つのクライアントが停止するとすぐに、他のクライアントはスタックします。彼らは通知を受け取らなくなります。
すべてのクライアントを通過して通知を送信するサーバーのループが、現在欠落しているクライアントでスタックしていると推測しています。例外をキャッチしてクライアントリストから削除しようとしましたが(コードを参照)、それでも役に立ちません。
何か案は?
サーバーコードは次のとおりです。
クライアントコードは次のとおりです。
また、Web構成は次のとおりです。
silverlight - Silverlight4デュプレックスサービス-コールバックの停止
クライアントへのコールバックを作成することでWCF二重化を使用するSilverlight4アプリケーションがあります。クライアントから、データベースからすべての行を取得するメソッドがあります(実際にはそうではありませんが、この例では)。各行は、コールバックを使用してクライアントに送信されます。開始したら、このプロセスを中止する方法を理解する必要があります。たとえば、このテーブルのすべての行が画面上でスクロールされているのを見るのにうんざりしているとします。別のテーブルの行を表示したい。途中で最初のアクションを停止するにはどうすればよいですか?
サーバー上に新しい操作を作成して処理を中止することもできると思いましたが、これは、コールバックを介してすでに送信され、クライアントによって取得されるのを待っているものには何の影響も及ぼしません。
新しい検索が開始されると、クライアントによって取得される古いデータがないことを保証する方法を探しています。誰かがこれを達成するための最良の方法について何か考えを持っていますか?
おかしいです。デュプレックスサービスを使用する前の私の問題は、データを十分な速度で取得できないことでした。デュプレックスを使用しているので、オフにできません。
wpf - wsDualHttpBinding が WPF クライアントでネットワーク外で機能しない
私は WPF と WCF の間に DuplexCommunication を実装しようとしていましたが、ネットワーク内で内部的にテストすると通信がうまく機能し、外部に公開した後にこの外部ネットワークにアクセスしようとすると、Web ブラウザーを介してサービスにアクセスできます。しかし、接続を開こうとすると、WPF クライアントがエラーを出しています。以下は、サーバー側とクライアント側の両方の構成です。サーバ:
クライアント:
サーバー側でdns値を使用して「baseAddresses」と「identity」を指定しようとしましたが、クライアント側でもclientBaseAddressを指定しようとしましたが、それでもネットワーク外では機能しません。
WPF アプリケーションから二重接続を開こうとすると、常にタイムアウト エラーが発生する: エラー: 「00:00:09.4911018 の割り当てられたタイムアウト内で、開く操作が完了しませんでした。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。 ."
構成部分に何か問題があると思いますが、それが何であるかはわかりません。これに関するヘルプは大歓迎です。
ありがとう。
c# - WCF ポーリング二重セッション
セッションを作成しようとする Silverlight クライアントがありますが、サーバーが応答しません (クライアントがタイムアウト例外をスローします)。私が見つけたサーバーログで:
どういう意味ですか?ポーリング二重バインディングを使用する WCF サービスが「新しいセッションを受け入れる」ことができないのはなぜですか?
更新: サーバーには約 20 の同時セッション要求があり、それらのほとんどが失敗しました。しかし、別のテスト実行を開始すると、すべて問題ありません。この問題はときどき発生します。通常、サーバーを再起動すると、この問題は解決します。サーバー構成:
silverlight - Wcf Duplex サービスを最初に呼び出した後、サービスが障害状態になるのはなぜですか?
私がやろうとしているのは、複数のクライアントが登録する wcf 二重サービスを用意することです。クライアントがサービスを呼び出すと、他のクライアントに呼び出しが通知されます。
現在、wcf 二重サービスを呼び出す Silverlight アプリがあります。最初の通話では、二重通信を含め、すべてが正しく機能しています。サービスへの 2 回目の呼び出しで、次のメッセージが表示されます。
私のサービスには 2 つの異なる方法があります。RegisterClient と ReassignOwner。同じメソッドを 2 回、または両方のメソッドを任意の順序で 1 回呼び出すと、まだこのエラーが発生します。
この件について調査した後、タイムアウトの問題である可能性があると思いました。デフォルトのタイムアウト値を確認したところ、10 分です。私は 2 ~ 3 分以内に両方の通話を行います。念のため、非アクティブ タイムアウトと受信タイムアウトを 4 時間に増やしましたが、まだこの問題が発生しています。
次に、サービスが例外を生成し、クライアントが障害状態になる可能性があると考えました。これをテストするために、サービスの 2 つのメソッドに try/catch ステートメントを配置し、プログラムをデバッグ モードで実行しました。私は例外をキャッチしませんでした。また、これら2つのメソッドのすべてのコードをコメントアウトして(例外を生成できないように)、これら2つの空のメソッドを呼び出してみましたが、それでも例外が発生しました。
SO に関する他の関連記事を読んで、WCF トレースを試すことにしました。web.config で有効にし、スイッチの値を警告に設定しました。2 つの警告が表示されます。
コード ビハインド .svc.cs ファイルでサービスを定義する方法を次に示します。
私のサービス コントラクトでは、両方のメソッドに次の属性があります。
どちらのメソッドも、Begin メソッドと End メソッドを使用して非同期方式で実装されています。
メソッドを呼び出す方法は次のとおりです
なぜこれが起こっているのか、またはこの問題を解決しようとする方法の手がかりを知っている人はいますか?
silverlight-4.0 - この MSDN サンプルを機能させるには、web.config で何を修正する必要がありますか?
Visual Studio 2010 で .NET 4 と Silverlight 4 を使用して、MSDN ガイドに従って Silverlight クライアント用の二重サービスを構築しようとしています ( http://msdn.microsoft.com/en-us/library/cc645027(v= vs.96).aspx )。
Web.config で警告が表示されます:
警告 26 要素 'bindings' に無効な子要素 'pollingDuplexHttpBinding' があります。List of possible elements expected: 'basicHttpBinding, customBinding, msmqIntegrationBinding, netPeerTcpBinding, netMsmqBinding, netNamedPipeBinding, netTcpBinding, wsFederationHttpBinding, ws2007FederationHttpBinding, wsHttpBinding, ws2007HttpBinding, wsDualHttpBinding, netTcpContextBinding, wsHttpContextBinding, basicHttpContextBinding, mexHttpBinding, mexHttpsBinding, mexNamedPipeBinding, mexTcpBinding, webHttpBinding'. C:\DuplexService\DuplexService\Web.config
サービス参照をクライアントに追加できません。WCF テスト クライアントでサービスを読み込めません。私は多くの場所で答えを探しました。問題が何であるかわかりません。
現在、web.config は次のようになっています。
c# - コールバック呼び出しが多い WCF PollingDuplex により、新しいサービス サブスクリプションで Service Too Busy 例外が発生する
現在、SilverLight 4.0 で PollingDuplex Binding を使用して Duplex WCF サービスを構築しようとしています。
私のサービスは、接続されたクライアントごとに 1 秒ごとにいくつかのコールバック メソッドを呼び出します。ただし、2 つのクライアントが接続された後、新しいクライアントは「... にあるサービスがビジー状態です」と表示されました。
私のサービスはこの動作を使用します:
WCF バインディング構成:
サービスの動作:
サービス定義:
助けはありますか?この例外は私を夢中にさせます!
c# - SilverLight 4.0 と PollingDuplex を使用したマルチ ルーム チャット アプリケーション
SL 4.0 と PollingDuplex を使用してマルチ ルーム チャット アプリケーションを構築するためのサンプルまたはガイドラインを探しています。
助けはありますか?