問題タブ [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.
.net - RoutingService チャネル セッション エラーの転送
次のサービス レイアウトがあります。
- IDuplexSessionRouter としての RoutingService、自己ホスト型、net.tcp 経由のパブリック、root/IService1 への要求をサービス A に転送するように構成され、/IService2 をサービス B に転送するように構成されます。
- IService1 としてのサービス A、デュプレックス、自己ホスト型、セッションあり、ランダム パスの net.pipe 経由
- IService2 としてのサービス B、デュプレックス、自己ホスト型、セッションあり、ランダム パスの net.pipe 経由
- ...
- サービス *、 ..
私がこれを行うのは、サービスごとにポートを持ちたくないし、ポート共有も使いたくないからです。
私が抱えている問題は、net.tcp バインディングを使用して ServiceHost でサービス A をホストし、チャネル ファクトリを使用してチャネルを開き、メソッドを呼び出してセッションを開始し、ServiceHost を閉じるか中止すると、クライアント チャネルの ICommunicationObject インターフェイスの Faulted または Closed イベント。サービスが RoutingService の背後にある場合、サービスでメソッドを呼び出した後にのみ、障害イベントが発生します。それ以外の場合、クライアントはまだ接続されていると考えています。
したがって、基礎となるチャネルに障害が発生したときにRoutingServiceにクライアントセッションを閉じるよう説得することが何とか可能かどうか疑問に思っていますか? これを達成する唯一の方法は、RoutingService の背後にあるサービスでハートビート操作を継続的に呼び出すことです。
wcf - WCFルーティング+SSL
「ルーティング」サービスを作成する必要があります。.NetのSystem.ServiceModel.Routing.IRequestReplyRouterを使用しようとしています。HTTPSではなくHTTPモードでのみ機能させることができます。エラーは「安全なSSL/TLS接続を確立できません」です...カスタム証明書バリデーターも試しましたが、呼び出されません!(作成されますが、validateメソッドは呼び出されません)
ここに構成を投稿します:
編集:構成に追加することでTLS接続を確立できました
しかし...今、私は石鹸封筒のセキュリティヘッダーに問題があります。クライアントはメッセージをルーターに正しく送信しますが、セキュリティヘッダーが削除されるため、例外が発生します...
wcf-routing - コンテンツベースのWCFルーター
WCFルーター(コンテンツベースおよびコンテキストベース)の例を探しています。コンテンツベースのwcfルーターに関する情報がある場合は、私と共有してください。ありがとうございます。
c# - 証明書認証を使用した WCF ルーティングの開始 - XML 地獄で立ち往生
クライアントがサーバーのWCFサービスを参照する単純なWCFクライアント->サーバー構造があります。認証は X509 証明書を使用して行われます。
サービスに単純な形式の冗長性を追加したいと考えています。つまり、複数のサーバーを実行し、メインサーバーが停止した場合にバックアップサーバーに透過的にフェイルオーバーするルーターをクライアントに使用させることです。
シンプルですね。
hello worldのサンプル コードを使用し、ルーターの app.config ファイルを変更して、クライアントのファイルに似せただけです。
次に、クライアントをルーターに向けました。
痛みに対して私が得た唯一の報酬はAn insecured or incorrectly secured fault
例外であり、内部の例外は次のように述べています。
The message could not be processed. This is most likely because the action 'http://www.MyCompany.com/MyApp/api/IMyCompanyMyAppService/GetItems' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.
明らかに、これらの理由はすべてあからさまな嘘です (GetItems
メソッドは実装されており、クライアント構成からコピーして貼り付けたのでバインディングが一致しておらず、受信タイムアウトに問題はありません)。
今、私は何をすべきか途方に暮れています。これは、私が使用している認証方法 (X509 証明書) と関係があるのではないかと思いますが、実際には手がかりがありません。
同封されているのは、サーバー、ルーター、およびクライアントの構成です。
wcf - クライアントの WCF ルーティング バックアップ リスト
クライアントで WCF バックアップ リストを定義して、単一の連絡先ルーティング サービスを不要にすることはできますか?
同じ連絡先 (インターフェイス) を実装する 2 つのサービスがあります。最初のサービスが利用できない場合、バックアップ サービスが使用されることをクライアントに知らせたいと思います。
これは可能ですか、それともクライアントが通信するルーティング サービス (単一の連絡先) を作成する必要がありますか?
wcf - WCFルーティングサービスを介してSTSトークンを渡す方法は?
WCFルーティングサービスを介してWCFクレーム認識サービスを呼び出そうとしていますが、次のエラーが発生しました。
「セキュリティで保護されていない、または誤ってセキュリティで保護された障害が相手から受信されました。障害コードと詳細については、内部のFaultExceptionを参照してください。」
また、内部例外では、「メッセージ内のセキュリティトークンの処理中にエラーが発生しました。」
私の推測では、ルーティングはクライアントからのトークン送信を渡す/識別することができません(STSによって提供されます)。
WCFルーティングサービスを介してWIFクレームアウェアサービスを呼び出すための実行可能な構成を提供してください。本当にこれが必要です。
ありがとう
ミザン
wcf - ルーターでの WCF 4.0 ルーティングと応答の操作
この問題で誰かが私を正しい方向に向けることができますか? WCF 中央ルーターがあり、いくつかの xpath 基準に基づいて、ルーターを通過する応答を操作したいと考えています。基本的に、いくつかのエラー リクエストから多くの詳細を削除し、いくつかの余分な詳細を追加したいと考えています。理想的には、エラーもログに記録したいと考えています。
これを行うには Web サービスを更新する方が一般的に良い方法であることはわかっていますが、私たちの場合、これは不可能であり、可能であればルーターで実行する必要があります。
また、各リクエストとレスポンスをログに記録できれば素晴らしいと思いますが、それはレスポンスの操作に対する別の解決策になる可能性があります。
wcf - WCF ルーティング サービスを使用することの欠点はありますか
私のチームの 1 人が、サービス アーキテクチャの構成を簡素化するために WCF ルーティング サービスを実装することを提案しました。コンセプトは理解していますが、先に進む前に、隠れた落とし穴やボトルネック、その他の問題がないことを確認したいと思います。
カスタム サービス クラス、エラー ハンドラ、ディスパッチャなどを使用します。ルーティングがこれらに干渉しないようにする必要があります。
その実行可能性/複雑さについて一般的なフィードバックを得ることができますか?
wcf - WCF ルーティングと単一接続の使用
私はWCFルーティングで遊んでいます。最初から問題なく動作します...しかし、パスできなかった問題があります。私の遊び場には、ルーティング サービスと、2 つの異なるコントラクトを実装する 4 つの他の WCF サービスがあります。私が言ったように、それは正常に動作します...しかし、クライアント側からシングルスレッドから両方のコントラクトにアクセスする場合、2つの異なる接続を作成する必要があります。コントラクトにアクセスするには ChannelFactory<> を使用します。独自のバインディング/チャネルを実装する方法を理解するために WCF チャネル スタックを調べようとしましたが、単一接続の目標を達成できませんでした。
両方のインターフェースの合計としてインターフェースを生成するオプションがありますが、このソリューションは、多くの (30 ~ 40) の独立したコントラクトの環境で機能するはずです。この単純な解決策を適用することを複雑にし、妨げているのは、「疎結合」規則に従って、これらの 30 ~ 40 の独立したコントラクトがすべて独立して存在するという事実です。
単一の WCF ルーティング サービスを介して多くのコントラクトをルーティングし、クライアント側からそれらにアクセスするために単一の接続 (スレッドごとの接続プール/接続プール) を使用できるように、チャネル スタックを構築する方法はありますか。?
敬具
レシェク
.net - xpathを使用してwcfルーティングサービスを実行するには?
いくつかのルーティングを行う必要がある wcf プロジェクトがあります。あるシナリオの 1 つは、サービスのバージョン管理を行うことです。したがって、たとえば、変更があった場合、または壊れている wcf サービスの新しいクライアントに対して新しいサービスを実装する必要がある場合、新しいクライアントによって消費される別のサービス エンドポイントを作成します。しかし、問題は、古いクライアントがサービスの古いバージョンと通信できる必要があることです (これが、サービスのバージョン管理が正しく機能する方法ですか?)。そのために、XPath メソッドを使用した wcf ルーティング サービスを使用することにしました。
XPath メソッドでできることは 2 つあります。コンテンツ フィルタリングを使用してデータ コントラクトのバージョンを確認するか、ヘッダーを調べることです。今は、ベンチマークのためだけに両方を実行したいと考えています。XPath がどのように機能するかは理解していますが、実装方法がわかりません。
チュートリアルや例は大歓迎です。ウェブ上でいくつかの良い例が見つかりましたが、完全な構成は提供されていません。
よろしくお願いします、