IMessageFilterTable<TFilterData>.GetMatchingValue 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回值,這個值會指出指定的訊息或是緩衝的訊息是否符合資料表中篩選條件的比對準則,並且傳回相符篩選條件的篩選資料。
多載
GetMatchingValue(Message, TFilterData) |
傳回值,這個值會指出指定的訊息是否只符合資料表中之一個篩選條件的比對準則,並且將相符的篩選資料新增至集合。 |
GetMatchingValue(MessageBuffer, TFilterData) |
傳回值,這個值會指出指定的緩衝訊息是否只符合資料表中單一篩選條件的比對準則,並且將相符的篩選資料新增至集合。 |
備註
當預期最多只有一個篩選條件與訊息相符,而且只有篩選資料必須從相符篩選條件重新取得時,便可使用下列其中一個方法。 這些方法會傳回布林值 (Boolean),由這個值指出是否已找到相符的篩選條件,並且將 data
參考參數設定為該相符的篩選資料。
如果訊息本文不用由篩選資料表中的任何一個篩選條件進行檢查,便可使用 GetMatchingFilter。
如果訊息本文可能會由篩選資料表中的篩選條件進行檢查,請緩衝該訊息並將它傳遞至 GetMatchingFilter 版本的方法。
GetMatchingValue(Message, TFilterData)
傳回值,這個值會指出指定的訊息是否只符合資料表中之一個篩選條件的比對準則,並且將相符的篩選資料新增至集合。
public:
bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean
參數
- value
- TFilterData
out
參數,儲存 FilterData
符合 的 message
。
傳回
如果訊息剛好只符合資料表中單一篩選條件的比對準則,則為 true
,如果沒有符合任何篩選條件,則為 false
。
備註
當預期有單一篩選條件與訊息相符,而且只有篩選資料才必須從相符的篩選條件重新取得時,便可使用這個方法。
這個方法預期最多只有一個相符的篩選條件。 如果有一個以上的篩選條件與訊息相符,這時一定會擲回 MultipleFilterMatchesException。
如果訊息本文必須由篩選資料表中的篩選條件進行檢查,請以 CreateBufferedCopy 來緩衝處理該訊息,並將它傳遞至 GetMatchingValue 版本的方法。
給實施者的注意事項
如果有一個以上的篩選條件與訊息相符,這時一定會擲回 MultipleFilterMatchesException。
這個多載會接受 Message,而如果它嘗試檢查訊息本文,就一定會擲回 InvalidBodyAccessException。
適用於
GetMatchingValue(MessageBuffer, TFilterData)
傳回值,這個值會指出指定的緩衝訊息是否只符合資料表中單一篩選條件的比對準則,並且將相符的篩選資料新增至集合。
public:
bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean
參數
- messageBuffer
- MessageBuffer
要測試的 MessageBuffer。
- value
- TFilterData
out
參數,儲存 FilterData
符合 的 messageBuffer
。
傳回
如果訊息剛好只符合資料表中單一篩選條件的比對準則,則為 true
,如果沒有符合任何篩選條件,則為 false
。
備註
當預期有單一篩選條件與緩衝的訊息相符,只有篩選資料才必須從相符的篩選條件重新取得,以及訊息本文可能必須進行檢查時,便可使用這個方法。
給實施者的注意事項
如果有一個以上的篩選條件與訊息相符,這時一定會擲回 MultipleFilterMatchesException。