2011-07-22 66 views
1

我一直與WCF路由和實現了自定義的消息過濾器,閱讀SOAP消息體內容在WCF自定義郵件過濾器

public override bool Match(Message message) 
    { 
     MessageBuffer buffer = message.CreateBufferedCopy(Int32.MaxValue); 

     var msg = buffer.CreateMessage(); 

     XmlDictionaryReader reader = msg.GetReaderAtBodyContents(); 

     string paramsXml = reader.ReadOuterXml(); 

     .... 
     .... 

     return serviceType.Equals(service); 
    } 

我得到以下異常「此消息不支持操作因爲它已被複制。「儘管我正在創建緩衝副本。誰可以幫我這個事?

回答

2

你需要設置routeOnHeadersOnly =路由行爲

false,那麼您實現取文緩衝區

+0

太棒了!這解決了問題。 – VJAI

3

這顯然與VS調試問題的操作。肥皂用戶或其他客戶不會發生這種情況。希望這對於有同樣問題的人來說是有用的。