問題タブ [wcf-routing]
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 ルーター - デュプレックス サービス - 再サブスクリプション
クライアントへのコールバック参照のリストを(メモリ内に)保持する二重wcfサービスがあります。wcf サービスには、Subscribe と Unsubscribe の 2 つの方法があります。
1つのwcfサーバーと複数のクライアントですべて正常に動作します。Wcfルーターサービスを使用して負荷分散を行う2つのwcfサーバーを導入したときに問題が発生しました。
たとえば、2 つの wcf サーバー (wcf1 と wcf2) と 1 つのルーター サーバー (r1) があります。クライアントがルーター エンドポイントに対して "Subscribe" を呼び出すと、その要求が wcf1 サーバーと wcf2 サーバーの両方にブロードキャストされます。どちらもクライアントへのコールバック参照を保持するようにします。問題は、wcf サーバーの 1 つがダウンしたときに始まります。wcf1 サーバーがダウンすると、すべてのサブスクリプションが失われます。そのため、アクティブに戻ったときに、コールバックを実行するために使用できるサブスクリプションはなく、クライアントに再サブスクライブするように通知する方法はありません。
クライアント側で fault イベントをリッスンしてみました。ルーターのエンドポイントに接続しているため、トリガーされません。このイベントは、ルーター サーバーがダウンしている場合にのみ発生します。
誰かが私のような問題に直面しましたか? 私は何か間違ったことをしていますか?
c# - WCF ルーティング サービス、応答を別のサービスに転送する
WCF ルーティング サービスを使用する予定です。
2 つのキュー (q1、q2) があるとします。ルーティング サービスは q1 からメッセージを取得し、それを要求応答サービスに転送します。ルーティング サービスによって応答が受信されると、再度 q2 に転送されます。
応答を別のキューに転送する方法に行き詰まっていますが、これは WCF RoutingService で可能なユース ケースですか?
よろしくお願いします。
.net - 2 つのドメインをブリッジする WCF ルーティング サービス
私の企業には、2 つのドメイン A と B があります。ドメイン A のアプリケーションは、ドメイン B に属する複数のサービス (WCF、Java Soap Services) を呼び出す必要があります。ドメイン B は、クライアントを認証するために Kerberos と Siteminder 認証に依存しています。ドメイン A は主に相互 SSL 認証を使用します。
この新しいルーティング サービスは、ドメイン B の基盤となるすべてのサービスをサポートし、認証を仲介します。相互 SSL を使用してドメイン A の呼び出し元アプリケーションを認証し、その要求を適切なエンドポイントに転送します。
WCF ルーティング機能を利用して、2 つのドメイン間のこのギャップを埋めるにはどうすればよいですか?
asp.net - IIS 上の ASP.NET Web アプリケーションで、分離されたアプリケーション ドメインでのルーティングを使用して WCF サービスを実行します。
別のアプリケーション ドメイン(ASP.NET アプリ ドメインではなく)で実行する必要がある WCF サービスがあります。
アプリケーションの展開シナリオがさまざまであるため、WCF サービスを Web サーバー (IIS) から分離したいと考えています。(注: これは、OWin と Web API を使用している場合の Owin の主な利点です)。
別のアプリケーション ドメインでサービスをルーティングせずにWCF サービスを実行できます。または、ASP.NET アプリ ドメインでルーティングを構成し、WCF ディスパッチ ランタイム用にカスタマイズされた SynchronizationContext 内の別のアプリ ドメインでサービスを使用して、WCF サービスを実行できます。
しかし、私はより良い方法を使用したいと思います。
分離されたアプリケーション ドメインでルーティングを使用して WCF サービスを実行することは可能ですか?
c# - 実行時に WCF ルーティング サービスの構成を動的に更新する
MSDN の WCF ルーティング サービスのチュートリアルに従っています。
コンソールの例を IIS でホストされているプロトタイプに変換するのに苦労した後、チュートリアルに従って 5 秒ごとに構成を更新する WCF ルーティング サービスができました。
5 秒ごとにタイマーを自動更新する代わりに、Web ページからこの更新をトリガーする必要がありますが、これを行う方法の例が見つかりません。DB に格納されたエンドポイントの CRUD ops を処理する管理画面のようなもの。ユーザーが構成を変更した場合、Routing Service はその構成を動的に更新する必要があります。
どうやら UDP アナウンスメントとディスカバリー サービスでこのようなことを行うことができますが、別のアプリから呼び出された更新をトリガーする単純なエンドポイントで十分であることは望ましくありません。
UpdateBehavior
メソッドを手動で呼び出すためにルーティング サービスへの参照を取得するにはどうすればよいUpdateRules
ですか?
c# - ServiceModel.Routing のデフォルトのサービス動作は何ですか?
ServiceModel.Routing のデフォルトのサービス動作は何ですか?
私はAzureのものについて話しているのではなく、これらのインターフェイスを意味します
System.ServiceModel.Routing
- IDuplexSessionRouter
- IRequestReplyRouter
- ISimplexDatagramRouter
- ISimplexSessionRouter
作業を行っている実際のサービス エンドポイントで、目的のコンテキストの正しい「バインディング」を選択することについて理解しています....
(つまり、このルーター (hand-rolled-service_bus) が実際に(EndPointName によって)メッセージをルーティングしようとしているサービス)
(もちろん、将来的には、指定された呼び出し元 ---EndPointName--- によってさまざまなサービスにルーティングされるいくつかのサービスがあります)
...しかし、これらの System.ServiceModel.Routing Namespace Interfaces の 1 つ以上を実装する この中間層のルーティング サービスで、これらのルーティング「コントラクト」によって同時実行モードとインスタンス モードがどのように処理されるのでしょうか?!
私はこれを考えすぎていて、これらのルーティング コントラクト (インターフェイス) はメッセージを通過させるだけですか? これを入力すると、目的のルーティング インターフェイス/コントラクトを継承するクラスを実際に作成し、通常のWCF インターフェイスのように、目的のサービス動作を手動で適用する必要があるのではないかと思います...
すべての例は、これらのルーティング インターフェイスを「使用」しているだけであり、それらのいずれかを実装するクラスを作成せず、その後サービスの動作を追加しています。
c# - System.ServiceModel.Routing Interfaces は何かをしますか? !
Windows サービスが wcf クライアント クラス (Proxy to worker WCF Service を含む) を初期化し、おそらくこのクライアントがルーティング サービスを介して動作し、作業を行う実際のサービスにマップするとします。""BeastyWorkerService""
つまり、クライアントがエンドポイント「net.tcp://10.0.0.xx/sample/ep_poopie」から吐き出すように構成されていることに直面するか、より正確にはエンドポイント「net.tcp://10.0.0.xx/」と通信するように構成されていますsample/ep_poopie」と「-「routingService」-」の反対側の実際のワーカー「「BeastyWorkerService」」は、そのエンドポイント「net.tcp://10.0.0.xx/sample/ep_poopie」で受け入れる準備ができています"。
ルーティング サービスを強制終了しても、ワーカーはメッセージを取得し、作業は完了します。ルータはブロードキャスト プロトコルのブリッジングやその他のタスクに便利かもしれませんが、皇帝は服を着ていないと思います。ここで私は間違っていますか? ?? 何が欠けていますか?私はWCFが大好きですが、それは確かに苦痛になる可能性があります....
c# - 基礎となる多くのサービス応答を結合/集約する WCF ルーター
基になる 2 つのサービスを備えた WCF ルーティング サービスがあります。私がやりたいことは、2 つのバックエンド サービスからの応答を結合し、1 つの集約された応答 (ルーターによって呼び出される 2 つのサービスのそれぞれで構成される) を返すことです。
その 2 つのサービスはそれぞれ、文字列の配列を返します。たとえば、最初のサービスが返さnew string[2] { "red", "green" }
れ、2 番目の結果が new string[2] { "table", "chair" }
である場合、ルーターからクライアントに返される最終的な応答全体は ですnew string[4] { "red", "green", "table", "chair" }
。
前もって感謝します!