4

WCFでのエンドポイントの動作の実行順序は何ですか?リクエストが検証ブロックを通過した場合にのみロギングを実行したい。しかし、私の場合、検証が失敗しても、要求は監査インターセプターによってログに記録されます。

私には2つの動作拡張機能があります:

<behaviorExtensions>
<add name="validation"/>
<add name="Auditing"/>
</behaviorExtensions>

そして私の行動では:

<behaviors>
<endpointBehaviors>
<validation ruleset"AuthenticationRuleSet"/>
<Auditing />
</endpointBehaviors>
</behaviors>
4

1 に答える 1

4

MSDN から

評価順序

System.ServiceModel.ChannelFactory と System.ServiceModel.ServiceHost は、プログラミング モデルと記述からランタイムを構築する役割を果たします。ビヘイビアーは、前述のように、サービス、エンドポイント、コントラクト、および操作でのビルド プロセスに貢献します。

ServiceHost は、次の順序で動作を適用します。

サービス

契約

終点

手術

動作のコレクション内では、順序は保証されません

ChannelFactory は、次の順序で動作を適用します。

契約

終点

手術

動作のコレクション内でも、順序は保証されません

検証の目的で、メッセージインスペクターを確認する必要があるかもしれません

于 2012-09-24T14:13:48.083 に答える