XPathMessageFilterTable<TFilterData> Class

Definition

Holds a collection of filter/data pairs for efficient matching.

generic <typename TFilterData>
public ref class XPathMessageFilterTable : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<System::ServiceModel::Dispatcher::MessageFilter ^, TFilterData>>, System::Collections::Generic::IDictionary<System::ServiceModel::Dispatcher::MessageFilter ^, TFilterData>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::ServiceModel::Dispatcher::MessageFilter ^, TFilterData>>, System::ServiceModel::Dispatcher::IMessageFilterTable<TFilterData>
[System.Runtime.Serialization.DataContract]
public class XPathMessageFilterTable<TFilterData> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageFilter,TFilterData>>, System.Collections.Generic.IDictionary<System.ServiceModel.Dispatcher.MessageFilter,TFilterData>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageFilter,TFilterData>>, System.ServiceModel.Dispatcher.IMessageFilterTable<TFilterData>
type XPathMessageFilterTable<'FilterData> = class
    interface IMessageFilterTable<'FilterData>
    interface IDictionary<MessageFilter, 'FilterData>
    interface ICollection<KeyValuePair<MessageFilter, 'FilterData>>
    interface seq<KeyValuePair<MessageFilter, 'FilterData>>
    interface IEnumerable
Public Class XPathMessageFilterTable(Of TFilterData)
Implements ICollection(Of KeyValuePair(Of MessageFilter, TFilterData)), IDictionary(Of MessageFilter, TFilterData), IEnumerable(Of KeyValuePair(Of MessageFilter, TFilterData)), IMessageFilterTable(Of TFilterData)

Type Parameters

TFilterData

The type of the filter data associated with each filter in the table.

Inheritance
XPathMessageFilterTable<TFilterData>
Attributes
Implements

Remarks

The XPathMessageFilterTable<TFilterData> implements the IMessageFilterTable<TFilterData> interface. This filter table is optimized for declarative XPath filters, so the table key is a XPathMessageFilter.

The XPathMessageFilterTable<TFilterData> class optimizes matching for a subset of XPath that covers most of the messaging scenarios and also supports the full XPath 1.0 grammar. It has optimized algorithms for efficient parallel matching.

Constructors

XPathMessageFilterTable<TFilterData>()

Initializes a new instance of the XPathMessageFilterTable<TFilterData> class.

XPathMessageFilterTable<TFilterData>(Int32)

Initializes a new instance of the XPathMessageFilterTable<TFilterData> class.

Properties

Count

Gets the number of filter/data pairs currently in the filter table.

IsReadOnly

The XPathMessageFilterTable<TFilterData> is not read-only.

Item[MessageFilter]

Gets or sets the filter data associated with the specified filter.

Keys

Gets a collection of all the filters contained in the XPathMessageFilterTable<TFilterData>.

NodeQuota

Gets or sets the maximum number of XML document nodes that can be examined by the individual filters during a single call to a Match method. This value applies for each filter.

Values

Gets a collection of all the FilterData contained in the XPathMessageFilterTable<TFilterData>.

Methods

Add(KeyValuePair<MessageFilter,TFilterData>)

Adds a filter/FilterData (key/value) pair to the XPathMessageFilterTable<TFilterData>.

Add(MessageFilter, TFilterData)

Adds a filter/data pair to the filter table.

Add(XPathMessageFilter, TFilterData)

Adds a filter/data pair to the filter table.

Clear()

Removes all filter/data pairs from the filter table.

Contains(KeyValuePair<MessageFilter,TFilterData>)

Determines whether the filter table contains a specified filter and its associated FilterData.

ContainsKey(MessageFilter)

Determines whether the filter table contains a specified filter.

CopyTo(KeyValuePair<MessageFilter,TFilterData>[], Int32)

Copies the filter/FilterData pairs to an array that starts at a specified index.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator()

Returns an enumerator that can iterate through the filter table.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetMatchingFilter(Message, MessageFilter)

Returns a value that indicates whether the match criterion of exactly one filter in the table is satisfied by the specified message and returns that filter in an out parameter.

GetMatchingFilter(MessageBuffer, MessageFilter)

Returns a value that indicates whether the match criterion of exactly one filter in the table is satisfied by the specified message or buffered message and returns that filter in an out parameter.

GetMatchingFilter(SeekableXPathNavigator, MessageFilter)

Returns a value that indicates whether the match criterion of exactly one SeekableXPathNavigator in the table is satisfied by the specified message or buffered message and returns that filter in an out parameter.

GetMatchingFilter(XPathNavigator, MessageFilter)

Returns a value that indicates whether the match criterion of exactly one XPathNavigator in the table is satisfied by the specified message or buffered message and returns that filter in an out parameter.

GetMatchingFilters(Message, ICollection<MessageFilter>)

Returns a value that indicates whether the match criterion of at least one XPathMessageFilter in the table is satisfied by the specified message and adds the matching filters to a collection.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Returns a value that indicates whether the match criterion of at least one XPathMessageFilter in the table is satisfied by the specified buffered message and adds the matching filters to a collection.

GetMatchingFilters(SeekableXPathNavigator, ICollection<MessageFilter>)

Returns a value that indicates whether the match criterion of at least one SeekableXPathNavigator in the table is satisfied by the specified buffered message and adds the matching filters to a collection.

GetMatchingFilters(XPathNavigator, ICollection<MessageFilter>)

Returns a value that indicates whether the match criterion of at least one XPathNavigator in the table is satisfied by the specified buffered message and adds the matching filters to a collection.

GetMatchingValue(Message, TFilterData)

Returns a value that indicates whether the match criterion of exactly one XPathMessageFilter in the table is satisfied by the specified message and returns the matching filter data.

GetMatchingValue(MessageBuffer, TFilterData)

Returns a value that indicates whether the match criterion of exactly one XPathMessageFilter in the table is satisfied by the specified buffered message and returns the matching filter data.

GetMatchingValue(SeekableXPathNavigator, TFilterData)

Returns a value that indicates whether the match criterion of exactly one SeekableXPathNavigator in the table is satisfied by the navigator and returns the filter data of the matching filter in an out parameter.

GetMatchingValue(XPathNavigator, TFilterData)

Returns a value that indicates whether the match criterion of exactly one XPathNavigator in the table is satisfied by the navigator and returns the filter data of the matching filter in an out parameter.

GetMatchingValues(Message, ICollection<TFilterData>)

Returns a value that indicates whether the match criterion of at least one filter in the table is satisfied by the specified message and adds the filter data of the matching filters to a collection.

GetMatchingValues(MessageBuffer, ICollection<TFilterData>)

Returns a value that indicates whether the match criterion of at least one filter in the table is satisfied by the specified buffered message and adds the filter data of the matching filters to a collection.

GetMatchingValues(SeekableXPathNavigator, ICollection<TFilterData>)

Returns a value that indicates whether the match criterion of at least one SeekableXPathNavigator in the table is satisfied by the navigator and adds the filter data of the matching filters to a collection.

GetMatchingValues(XPathNavigator, ICollection<TFilterData>)

Returns a value that indicates whether the match criterion of at least one XPathNavigator in the table is satisfied by the navigator and adds the filter data of the matching filters to a collection.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(KeyValuePair<MessageFilter,TFilterData>)

Removes a filter and its associated filter data from the filter table.

Remove(MessageFilter)

Removes a filter and its associated filter data from the filter table.

Remove(XPathMessageFilter)

Removes an XPathMessageFilter and its associated filter data from the filter table.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
TrimToSize()

Compacts the filter table, purging any excess allocations or buffers.

TryGetValue(MessageFilter, TFilterData)

Checks whether a filter is stored in the filter table.

Explicit Interface Implementations

IEnumerable.GetEnumerator()

Returns an enumerator that can iterate through the filter table.

Extension Methods

CopyToDataTable<T>(IEnumerable<T>)

Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Enables parallelization of a query.

AsQueryable(IEnumerable)

Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

Returns a filtered collection of the child elements of every element and document in the source collection. Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Removes every node in the source collection from its parent node.

Applies to