When overridden in a derived class, tests whether a message or a buffered message satisfies the criteria of a filter.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
The difference between the two overloads is that one takes a Message parameter and is not permitted to examine the body. The other takes a MessageBuffer parameter and can examine any part of the message. Message headers are automatically buffered and can be inspected by a filter without being consumed. But if the body is to be inspected by a filter, then the entire message must be buffered because an unbuffered message body can be consumed by a query and its contents destroyed.
Notes to Implementers:
Null messages are invalid, and should cause an ArgumentNullException to be thrown.