在这里,我们将会为大家详细介绍一下有关WCF自定义消息筛选器的一些基本内容,以方便大家在实际编程中获得一些帮助。那么接下来就让我们一起来揭开WCF自定义消息筛选器这一应用技术的面纱。
在默认情况下,默认情况下,仅当消息的“To”标头为终结点的 EndpointAddress 并且消息的动作与终结点操作的动作之一匹配时,终结点的消息筛选器才与此消息匹配。在本文中,我们将自定义一个消息过滤器,它不要求消息的“To”标头完全与EndpointAddress完全匹配,而只是检测SOAP消息中的“To”标头中是否包含某些特定的字符。所有的WCF自定义消息筛选器都从MessageFilter基类继承,如下代码所示:
- /// < summary>
- /// Author: TerryLee
- /// Url: http://www.cnblogs.com/terrylee
- /// < /summary>
- public class SpecialCharactersMessageFilter : MessageFilter
- {
- private String _characters = String.Empty;
- public SpecialCharactersMessageFilter(string characters)
- {
- this._characters = characters;
- }
- public override bool Match(Message message)
- {
- Uri to = message.Headers.To;
- if (to == null)
- return false;
- return to.AbsoluteUri.Contains(_characters);
- }
- public override bool Match(MessageBuffer buffer)
- {
- return Match(buffer.CreateMessage());
- }
- }
SpecialCharactersMessageFilter的实现非常简单,仅仅是查找“To”标头是否包含某些特定字符,这些字符我们会在配置文件中进行配置。
以上就是我们为大家介绍的有关WCF自定义消息筛选器的相关介绍。
【编辑推荐】