所有對System.ServiceModel.Channels.Message
方法只允許您閱讀郵件正文一次,並且如果該消息已被讀取後調用失敗,出現異常。 msdn文檔確認只能讀取消息正文。但是,如果您在已閱讀的消息上致電ToString()
,您似乎會收回整個肥皂信封,身體和所有信封。WCF Message.ToString()方法如何工作?
所以在我的情況下,它似乎是可以訪問即使它已經閱讀如果只有方法將允許它的身體。
有什麼我在這裏失蹤?在某些情況下,是否使用ToString()
作爲解決方案來使主體不可靠?
在我的情況,我工作了一段WCF操作的一些錯誤日誌和OperationContext.RequestContext.RequestMessage
的獲取原始消息。我使用ToString()
來記錄消息,因爲這是我可以找到的唯一方法來允許我記錄消息正文。
感謝卡洛斯......我會投你一票,但沒有足夠的聲望:) – TCC 2012-08-22 16:19:05