2011-04-21 77 views
0

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

回答

2

看看DataTableSurrogate类。它由SyncFramework用于序列化,真的很容易使用。 MSDN DataTableSurrogate

+0

感谢您的答复LL尝试,但我很好奇,想知道有没有办法作出SvcUtil工具一起工作数据表???? – Jankhana 2011-04-21 11:54:36

+0

@迈克尔:对不起,但这不是我要找的答案:-( – Jankhana 2011-04-23 09:31:57

1

你真的不应该序列化数据集,而不是你应该使用datamodels并保留任何与数据集,表,读者等做你的业务层后端&。

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

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