System.ServiceModel 4.0.0.0 System.ServiceModel.Dispatcher.MessageFilter

An object includes a URI and an optional collection of addressing headers. The addressing and message headers are canonicalized to be compared for equality. If a parameter appears more than once in an , the corresponding header must appear in the message at least that many times.

This filter performs the same query as , except that the test for whether a message matches an endpoint address is done by a Longest-Prefix Match. This means that the URI specified in the filter does not have to match the message's URI exactly, but must be contained in that URI as a prefix. For example, if a filter specifies the address "www.foo.com", and a message is addressed to "www.foo.com/customerA", then the URI part of the filter query condition will be met. However, the header portion of the filter query still has to be done.

Internet Information Services (IIS) and the underlying file system (NTFS or FAT) are case-insensitive. URI comparisons done by this class are also case-insensitive. So, for example, http://www.microsoft.com is evaluated as equal to http://WWW.microsoft.com.

Represents a query that tests whether a message matches an EndpointAddress using a Longest-Prefix Match for the URI component.

- Constructor
  4.0.0.0
  To be added.

  Initializes a new instance of the class.

  The against which messages are tested.
- Constructor
  4.0.0.0

  If you have a web service installed on your local machine, there are many equivalent ways to reference it, including the following:

  http://localhost/foo.svc

  http://192.168.1.100/foo.svc

  http://[my-machine-name]/foo.svc

  http://[my-machine-name].[my-company].com/foo.svc.

  If the value of the parameter is false, the above URIs all resolve to the same endpoint.

  Initializes a new instance of the class.

  The against which messages are tested.
  true if the host name is included in the endpoint address comparison; otherwise, false.
- Property
  4.0.0.0
  System.ServiceModel.EndpointAddress To be added. To be added.

  Gets the Endpoint Address that the tests messages against.

- Method
  4.0.0.0
  System.ServiceModel.Dispatcher.IMessageFilterTable<FilterData>

  The method returns an instance of that is optimized to test for specific message endpoints.

  This method is intended to be used by .

  Creates a new filter table that tests a message against multiple endpoint addresses simultaneously.

  An object that implements the interface that can contain s with associated .

  Data associated with the filters in the table.
- Property
  4.0.0.0
  System.Boolean To be added.

  If you have a web service installed on your local machine, there are many equivalent ways to reference it, including the following:

  http://localhost/foo.svc

  http://192.168.1.100/foo.svc

  http://[my-machine-name]/foo.svc

  http://[my-machine-name].[my-company].com/foo.svc.

  The default value of this property is false, so the above URIs all resolve to the same endpoint, unless you change this property.

  Gets a value that indicates whether the host name is included in the endpoint address comparison.

- Method
  4.0.0.0
  System.Boolean ``

  The two overloads of this method are equivalent because this filter does not examine the message body, only the address, to do a longest-prefix match, and then the headers.

  Tests whether a message satisfies the specified endpoint address.

  true if the object satisfies the endpoint address specified in the filter; otherwise, false.

  The object to test.
- Method
  4.0.0.0
  System.Boolean ``

  The two overloads of this method are equivalent because this filter does not examine the message body, only the address, to do a longest-prefix match, and then the headers.

  Tests whether a buffered message satisfies the specified endpoint address.

  true if the object satisfies the endpoint address; otherwise, false.

  The object to test.