C# WCF-传递继承的类对象

C# WCF-传递继承的类对象,c#,wcf,wshttpbinding,C#,Wcf,Wshttpbinding,我有一个数据协定,在其中我指定了一个Stream类型的属性,现在如果我想传递子类型MemoryStream,它会抛出一个错误,因为SOAP消息对MemoryStream一无所知 我试图将属性(knowntype)放在属性上,但它只允许放在类的声明上。 那么,我应该在声明类或其他需要执行的操作时使用它吗 这是可行的,在声明类时放置已知类型。问题是MemoryStream已成功传递,但FileStream未成功传递。我正在使用wsHttpBinding,因此无法将传输模式用作流。有人能帮忙解释一下为

我有一个数据协定,在其中我指定了一个Stream类型的属性,现在如果我想传递子类型MemoryStream,它会抛出一个错误,因为SOAP消息对MemoryStream一无所知

我试图将属性(knowntype)放在属性上,但它只允许放在类的声明上。 那么,我应该在声明类或其他需要执行的操作时使用它吗


这是可行的,在声明类时放置已知类型。问题是MemoryStream已成功传递,但FileStream未成功传递。我正在使用wsHttpBinding,因此无法将传输模式用作流。有人能帮忙解释一下为什么会这样吗?

它到底抛出了什么错误?不应键入数据协定名为“MemoryStream:”的“System.IO.MemoryStream”。考虑使用DATACONTRORTCORDEVER或将未知类型的任何类型添加到已知类型的列表中——例如,使用NoNyType属性,或者将它们添加到传递给DATACONTROTTRORIGLASER的已知类型列表中。它在放置了已知类型属性之后起作用,但我面临的另一个问题是,FileStream如果传递给空对象,则MemoryStream可以正常工作。出于安全原因,这可能是禁止的。您能将FileStream转换为字节[]吗?