svcutil不接受DataTable - WCF服务

时间:2011-04-21 10:43:37

标签: wcf datatable svcutil.exe

我的“svcutil.exe”生成的WCF服务代理客户端出现了一个非常奇怪的问题。如果我没有返回DataTable的函数,我的WCF服务工作正常。一旦我添加一个返回DataTable的方法,svcutil.exe生成的客户端表现得非常奇怪。找不到该接口,客户端无法调用该服务。但是,如果我添加作为服务参考,它的工作非常顺利。我知道使用DataTable作为返回类型不是一个好习惯,但我需要。我不能使用服务参考:-(任何想法为什么它的行为或我缺少的东西!!!

2 个答案:

答案 0 :(得分:2)

查看 DataTableSurrogate 类。它由SyncFramework用于序列化,非常易于使用。 MSDN DataTableSurrogate

答案 1 :(得分:1)

你不应该真正序列化数据集,而是应该使用数据模型并与后端和数据集上的数据集,表格,阅读器等保持一致。在业务层。

但是..如果你想这样做,你需要在svcutil中添加以下“include”,这会导致你的问题。 (告诉重用System.Data.dll中定义的类型而不在代理中生成它们)

/r:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll