在WCF服务中使用Stream或DataContracts?

时间:2012-07-05 17:09:27

标签: c# wcf stream datacontract

在我的WCF服务中,我一直将帖子正文中的所有数据作为Stream发送。收到流时,会将其读取为字符串并反序列化为“假定”的对象。

我一直在考虑使用DataContracts并尝试查看他们与使用Stream相比的任何利弊。到目前为止我看到的最重要的事情是它需要一些冗余的步骤 - 我不再需要将流读取到字符串并将其反序列化为对象。

这两种方法还有其他明显的差异吗?

例如我的定义目前看起来像......

void LogOn(Stream input)

它会切换到......

void LogOn(LoginModel model)

提前致谢。

1 个答案:

答案 0 :(得分:2)

我认为自己进行序列化/反序列化会对库方法造成性能损失。此外,您当前的方法不会公开有关您的参数或返回类型的任何信息,因此您将失去强类型接口的所有好处。