3

私たちは、メッセージングPollingDuplexHttpBindingを行うためにしばらくの間使用しています。Pub/Subクライアントがデータフィードをサブスクライブできるようにする結果を返さないメソッドがあり、サービスはCallBackコントラクトを介してデータをプッシュバックします。

ちょうど今、私たちはいくつかのRequest/Replyメソッドをに追加していますOperationContract。クライアントはSilverlight3であるため、これらのメソッドはasync Begin() End()パターンを使用して呼び出されます。問題は、を使用してこれを機能させることができないことPollingDuplexHttpBindingです。常に次のエラーが発生します(クライアントスタックHTTPが使用されている場合)。

サーバーは意味のある応答を提供しませんでした。これは、コントラクトの不一致、セッションの早期シャットダウン、または内部サーバーエラーが原因である可能性があります。

ブラウザスタックを使用すると、HTTP 500: Not Found.

BasicHttpBindingメソッドへの切り替えRequest/Replyは完全に正常に呼び出されますが、明らかにPub/Subこのバインディングではメソッドを使用できません。

メッセージングのタイプごとに2つの別々のエンドポイントを使用することもできますが、そうではなく、バインディングがPub/Subパターンのみをサポートするのは奇妙に思えます(これが動機ですがPollingDuplexHttpBinding)。

誰かが私のためにこれを片付けることができますか?出来ますか?

4

1 に答える 1

2

これを機能させることはできませんでした。Silverlight4アプリとWCF4サービス間のすべての要求/応答操作にBasicHttpBindingを使用します。これらはすべて、Per-Callサービスへの非同期メソッド呼び出し(Silverlightを使用する必要があります)です。サーバープッシュを実行する必要があるいくつかの状況では、SilverlightクライアントへのPollingDuplexHttpBinding接続を維持するSessionful WCFサービスがあり、一方向メソッドを使用したコールバックコントラクトを使用して呼び出しを行います。

PollingDuplexHttpBindingで動作するように要求/応答操作を取得することはできませんでしたが、この問題に関する権限も見つかりませんでした...

于 2011-02-21T03:43:13.827 に答える