C# WCF IDispatchMessageInspector

C# WCF IDispatchMessageInspector,c#,.net,wcf,C#,.net,Wcf,有一条字符串行形式的消息通过了所有测试。当尝试从中创建并通过BeforeSendReply返回消息时,签名将失效,消息将无效。原因可能是什么 如何从字符串创建消息?您可以通过以下方式获得消息: public void BeforeSendReply(ref Message reply, object correlationState) { MessageBuffer buffer = reply.CreateBufferedCopy(Int32.MaxValue)

有一条字符串行形式的消息通过了所有测试。当尝试从中创建并通过BeforeSendReply返回消息时,签名将失效,消息将无效。原因可能是什么


如何从字符串创建消息?

您可以通过以下方式获得消息:

public void BeforeSendReply(ref Message reply, object correlationState)
    {
            MessageBuffer buffer = reply.CreateBufferedCopy(Int32.MaxValue);
            reply = buffer.CreateMessage();
            string message = buffer.CreateMessage();
            ...

XmlReader=XmlReader.Create(新的StringReader(innerXml));Message modifiedRequest=Message.CreateMessage(xmlReader,int.MaxValue,reply.Version);回复=修改请求;XML是具有安全标头的消息。。。。。“xmlns:xsd=”“xmlns:u=”“>signedResponse=Cryptography.MessageSigner.Sign(msg.ToString());var innerXml=signedResponse.innerXml;XmlReader XmlReader=XmlReader.Create(new StringReader(innerXml));Message modifiedRequest=Message.CreateMessage(XmlReader,int.MaxValue,reply.Version);reply=modifiedRequest;我收到了邮件,处理后再签名。我只需要把它拿回来。有人知道吗?