如果我只有几个相同类型的WCF扩展模块(例如参数检查器),可以确定它们按照我在配置文件中定义的顺序执行了吗?

<system.serviceModel>
    <extensions>
        <behaviorExtensions>
            <add name="MyInspectorA" type="blabla" />
            <add name="MyInspectorB" type="blabla" />
        </behaviorExtensions>
    </extensions>
</system.serviceModel>


除了我的观察之外,我还需要更多保证,但是在MSDN上找不到任何确认。

最佳答案

它们将按照它们在

<system.serviceModel> <behaviors> <[service|endpoint]Behaviors> <behavior> <behavior_1 /> <behavior_2 /> <behavior_n /> </behavior> </[service|endpoint]Behaviors> </behaviors></system.serviceModel>

,而不是行为扩展中列出的顺序。

服务行为在端点行为之前被调用-行为之间的顺序在http://blogs.msdn.com/b/carlosfigueira/archive/2011/03/16/wcf-extensibility-behaviors.aspx中描述。

07-28 14:23