MessageExtensionMethods.ToHttpRequestMessage 失败并出现异常

本文关键字:异常 ToHttpRequestMessage 失败 MessageExtensionMethods | 更新日期: 2023-09-27 18:37:22

I ma 在此处显示的链接中使用 ToHttpRequestMessage 扩展方法

static void Main(string[] args)
{
    try
    {
          Message soapMessage = Message.CreateMessage(MessageVersion.Soap11, "urn:MyAction", "TestBody");
          soapMessage.Properties.Add("httpRequest", new HttpRequestMessageProperty());
          HttpRequestMessage requestMessage = soapMessage.ToHttpRequestMessage();
    }
    catch (Exception exception)
    {
    }
}

异常消息: {"期望来自命名空间'http://schemas.datacontract.org/2004/07/System.IO'的元素'流'。遇到名称为"字符串"、命名空间为"http://schemas.microsoft.com/2003/10/Serialization/"的"元素"。'"}

知道我做错了什么吗?还是 .NET 代码本身存在错误

MessageExtensionMethods.ToHttpRequestMessage 失败并出现异常

对于任何类型的消息对象,这都是不可能的。我看到的问题是因为这些扩展方法不适用于任何类型的消息,而只能用于 ByteStreamMessage 的实例。它在文档中没有很好的记录,但在姐妹类的文档中提到

HttpRequestMessageExtensionMethods

Message 实例可以像传统的 ByteStreamMessage 实例一样读取、写入和复制。Message 实例还可以通过调用 ToHttpRequestMessage 扩展方法来"读取"以检索原始 HttpRequestMessage 实例