2011-01-24 7 views
4

私はカスタムWCFバインディングを作成していますが、メッセージの処理に問題がある場合にのみ、いくつかのコードを実行します。私の考えは、カスタムIOperationInvokerを追加して、メッセージの処理についてtry/catchを使用することです。私のバインディング内からカスタムビヘイビアを追加する方法が見つかりません。私は、このバインディングを使用したいサービスのバインディングと動作の両方を宣言する必要はありません。カスタムBindingからカスタムWCFビヘイビアを追加できますか?

私が実行しているモデルは、Net.Msmqバインディングです。ここで、バインドを介して再試行処理を宣言できます。それは本質的に私が複製しようとしているものですが、私自身の束縛を通しています。

そこにいるWCFの達人は誰ですか?

答えて

1

とは思えません。バインディングは動作を追加できません。デフォルトのWCFバインディングを確認できます。たとえば、WebHttpBindingは常にWebHttpBehaviorまたはWebScriptEnablingBehaviorと一緒に使用されますが、WebHttpBindingは追加できません。手動で追加する必要があります。この不都合を解決するために、ServiceHostの代わりにWebServiceHostクラスを使用できます。 WebServiceHostは、RESTサービスに必要なすべての設定を行います.WebHttpBehaviorを追加し、WebHttpBindingで設定します。同じアプローチを使用することができます。

しかし、これは良いアプローチではないと思います。再試行処理はすでにReliableSessionによって処理されており、同じ方法で試してみる必要があるので、チャンネルとして実装されています。そのような場合、行動の問題に対処する必要はありません。

関連する問題