簡體   English   中英

WCF檢查郵件

[英]WCF Inspect Messages

我正在嘗試實現一個簡單的消息檢查器,它將消息從MSDN上的示例寫入調試窗口:

public class MyMessageInspector : IDispatchMessageInspector
{
    public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
    {
        System.Diagnostics.Debug.WriteLine(request.ToString());
        return null;
    }

    public void BeforeSendReply(ref Message reply, object correlationState)
    {
        System.Diagnostics.Debug.WriteLine(reply.ToString());
    }
}

答復是按預期寫的。 但是請求似乎是null。 什么可能出錯? 我正在使用服務引用代理和控制台應用程序作為客戶端。

我正在使用basicHttpbinding並使用svc文件托管IIS。 我的Web方法的參數是一個復雜的類型。 我不確定這是否有所作為。

首先嘗試消息請求的CreateBufferedCopy(即克隆): http//msdn.microsoft.com/en-us/library/ms734675.aspx (將消息復制到緩沖區)。

更多信息請點擊“現在的郵件檢查部分”: http//binarymist.net/2010/06/14/message-inspection-in-wcf/

我復制並粘貼了MyMessageInspector類並將行為添加到我的Web服務中,並且工作正常 - 調用Web服務時,SOAP信封將打印為XML。

你的項目中還有其他MessageInspectors嗎? 如果是這樣,其中一個可能是設置request = null - 這將導致您遇到的問題,因為請求參數是ref

如果沒有,是什么讓你說請求是空的? 你在Debug.WriteLine(..)語句中得到NullReferenceException嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM