MessageExtensionMethods.ToHttpRequestMessage失败并出现异常

时间:2016-03-04 21:19:07

标签: c# .net wcf

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

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代码本身是否存在错误

1 个答案:

答案 0 :(得分:0)

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

HttpRequestMessageExtensionMethods

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