問題タブ [duplex]
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 - WCF ポーリング二重サービスは他のクライアントで使用できますか?
Silverlight クライアントを使用してサーバー アプリを作成しています。ある時点で、Silverlight 以外のクライアントが私のサービスを使用できるようにしたいと考えています。現在、ポーリングされる WCF サービスをいくつか作成しましたが、応答性に満足していません。コードを Silverlight/WCF 二重ポーリングを使用するように切り替えることを考えていますが、そうすると、唯一のクライアントとして Silverlight を使用することになりますか? 通常の WCF http サービスを使用して独自のロング ポーリング サービスを作成する方がよいでしょうか?
wcf - デュプレックス WCF サービスが 11 回目の呼び出しでハングする
魔法の 10 プロキシのインスタンス化の後にハングする二重 WCF サービスがあります。クライアントの特定のエラーは次のとおりです。
「System.TimeoutException: この要求操作は net.tcp://localhost:8080/RoomService/netTcp に送信され、構成されたタイムアウト (00:00:59.9960000) 内に応答を受け取りませんでした」。
サーバーに明らかなエラー メッセージはありません。
次のインスタンスを開く前に、プロキシ接続のすべてのインスタンスを適切に閉じているため、これは標準的な明らかな問題、つまりプロキシ接続を閉じることができないことに注意してください。
そして、スロットリング動作をすべて同時に 500 に設定しました。
サービスの ConcurrencyMode を Multiple に設定し、InstanceContextMode の 3 つの可能な値すべてを試しました。
サービスを自己ホストし、IIS 内でホストしようとしましたが、それぞれで同じ結果が得られました。
NetTcpBinding、WSDualHttpBinding、および PollingDuplexBinding (Silverlight 上) を試しましたが、それぞれで同じ結果が得られました。これは双方向サービスであるため、BasicHttpBinding または WSHttpBinding を試すことができません。
私のコードには、(複数のコールバックを同時に実行するために) 複数のスレッドを起動している場所が 1 箇所ありましたが、トラブルシューティングの目的でその部分を少しコメントアウトしましたが、違いはありませんでした。
クライアントでは、テストごとに新しいプロキシを使用し、すべてのテストで同じプロキシを再利用しようとしましたが、うまくいきませんでした。プロキシごとに新しい InstanceContext を作成し、すべてのプロキシで同じ InstanceContext を再利用しようとしましたが、うまくいきませんでした。
何をしても、テスト ハーネスで 10 回目のテストを実行した後、サービスへの次の呼び出しがハングします。
私が間違っているかもしれないことについて何か考えはありますか?
postscript - Duplex Postscript - Force new page
Is there an easy way to force a postscript page onto a new physical page without inserting a blank page?
e.g. Say I have a PS document with 10 postscript pages, which needs to print into different document bundles :
1 - Physical Page 1 Front Side
2 - Physical Page 1 Rear Side
3 - Physical Page 2
4 - Physical Page 3 Front Side
5 - Physical Page 3 Rear Side
6 - Physical Page 4 Front Side
7 - Physical Page 5
8 - Physical Page 6 Front Side
9 - Physical Page 7 Front Side
10 - Physical Page 7 Rear Side
I could set the whole file to be duplex, and insert dummy pages after page 3,6,7 and 8, but I'd like to avoid that as our printers cost per impression, not per physical page.
I'm hoping there's a simple PS syntax which corresponds to "Force to front page".
wcf - Duplex シナリオをサポートする WCF テスト ツールは?
コールバックをサポートするツールを知っている人はいますか?
c# - クラスター環境での WCF 二重通信
そこで私は、Duplex Communications 用に人々が作成したサンプル例、つまり IIS によってホストされ、Silverlight 経由で接続された場合を見ていました。これにはたくさんの例があります (この MSDN の記事は素晴らしいです) が、すべて同じパラダイムを使用しています。
ユーザー A はサーバー A に接続し、将来の更新を受信するためにメモリ内リストに入れます。
ユーザー B がサーバー A に接続すると、リスト内のすべてのユーザーに誰かが「ログイン」したことが通知されます。
...しかし、いつ何が起こるか
ユーザー C はサーバー C に接続しますが、サーバー C のメモリ内リストにはユーザー A または B が含まれていません。
問題は、これをクラスター化された (Web ファーム) 環境に実装しようとしていることです。どのマシンが最終的に wcf 呼び出しを処理するかを確認できないため、これは事態を複雑にします。そのため、他のすべてのユーザーにメッセージを中継することは困難です。
私が考えることができる最良のシナリオは、実際にクライアントをある種のルーティング サービスに接続して、着信要求を受け取り、クライアントを特定のマシンに転送することです。もちろん、1 台のマシンがすべての着信要求を効果的に処理しているため、Web ファームの利点は失われます。
あまり効果的でない解決策は、サービスが何か (ファイルサーバー上のファイルまたは DB 内のテーブル) を継続的にポーリングして変更を探すことです。変更が表示されたら、それらをクライアントにプッシュします。これはとても醜い赤ちゃんのようですね。
私は何を逃したのですか?
更新 - ルーティング システムは私のニーズには対応していません。私のホスティング会社は、ファーム上の特定のマシンに IP 経由で直接接続することを許可していません。一般的なロードバランサーのフロントエンドにしか接続できないため、ユーザーが同じサーバーにアクセスすることを保証できません。
これまでのところ、データベース内のテーブルをポーリングして変更を探しています。まだ醜い赤ちゃんのようです。
wcf - Silverlightアプリケーションを使用して大規模なWCFデュプレックスサービスを設計するための最良の方法は何ですか?
私は現在、Silverlightアプリケーション、より正確には、ロビーとゲームの2つの状態を持つゲームに取り組んでいます。
その構造を反映するようにサービスアプリケーションを作成しました。ロビー関連のすべての操作を処理するためのLobbyServiceと、実際のすべてのゲーム操作を処理するためのGameServiceを作成しました。その上、両方の状態間で共有される操作(チャット、システムメッセージなど)を処理する3番目のサービス「GeneralService」があります。
デザイン自体にはかなり満足していますが、デュプレックスサービスのスケーラビリティを読んだことで、3つのサービスを用意するのは良い考えではないかもしれないと思いました。つまり、2〜3のデュプレックスチャネルを同時に開くことを意味します。各クライアント、したがってサーバー側でより多くのリソースを使用します。
だから私の質問は、すべてに1つのWCFサービス(.svc)だけを使用する方が良いですか(おそらく3つの異なるデータコントラクトを実装するだけで)、現在の設計を維持し、サービスを論理的に独自のサービスに分割しても大丈夫ですか?
ありがとう!
.net - WCFが、着信メッセージのReplyToを使用して発信メッセージのToヘッダーに自動的に影響を与えないのはなぜですか?
ReplyToヘッダーを差出人アドレスに設定してメッセージを送信するサービスがあります。私は思った:
クライアントを自動的に呼び出しますが、次の例外が発生します:
サーバー側の複合デュプレックスチャネルでメッセージを送信するには、メッセージに「Via」プロパティまたは「To」ヘッダーセットのいずれかが必要です。
私は何か間違ったことをしていますか、それともWCFは少し怠惰ですか?
現在、これらのヘッダーを一致させるためにメッセージインスペクターの動作を使用していますが、少しハッキーなようです...
ps:私はMSMQを使用しています
アップデート
msmq overduplexを動作させるために2つのバインディング要素を作成しました。コードプレックスで利用できます。例全体を見ることができますが、前述のように、このエラーのために、メッセージインスペクターの動作を使用して送信メッセージのToヘッダーをに設定します。着信メッセージのReplyTo。奇妙なことに、私のクライアントはこの動作を必要とせず、彼は私のサービスをコールバックすることもできます。
wcf - 10回の接続後にwcf duplexからsilverlightが切断される
Silverlight チャット アプリケーションを開発しました。1 つのウィンドウで複数のチャット ウィンドウを同時にロードし、すべてのチャット ウィンドウが wcf duplex サービスへの新しい接続を作成します。しかし、10 チャット ウィンドウごとに wcf から切断され、動作が停止します。調整オプションのコードをいくつか書いていますが、機能しません。これは私のコードです:-