在这篇文章中,我们将会为大家详细介绍一下有关WCF自定义过滤器的相关实现技巧以及应用方式。对于又需要的初学者们,可以通过本文介绍的内容充分掌握这一应用技巧,解决开发过程中遇到的问题。
在默认情况下,默认情况下,仅当消息的“To”标头为终结点的 EndpointAddress 并且消息的动作与终结点操作的动作之一匹配时,终结点的消息筛选器才与此消息匹配。在本文中,我们将自定义一个消息过滤器,它不要求消息的“To”标头完全与EndpointAddress完全匹配,而只是检测SOAP消息中的“To”标头中是否包含某些特定的字符。所有的消息过滤器都从MessageFilter基类继承,WCF自定义过滤器的实现如下代码所示:
/// < 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());
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
SpecialCharactersMessageFilter的实现非常简单,仅仅是查找“To”标头是否包含某些特定字符,这些字符我们会在配置文件中进行配置。
以上就是我们为大家详细介绍的WCF自定义过滤器相关应用技术。
【编辑推荐】