如果我有几个相同类型的WCF扩展模块(如参数检查器),我可以确定它们是按照我在配置文件中定义它们的顺序执行的吗?
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="MyInspectorA" type="blabla" />
<add name="MyInspectorB" type="blabla" />
</behaviorExtensions>
</extensions>
</system.serviceModel>
我需要更多的保证,而不仅仅是我的观察,但在MSDN上找不到任何确认。
答案 0 :(得分:6)
它们将按照它们出现在
中的顺序执行 <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中描述。