【问题标题】:DataTable not accepted by svcutil - WCF Servicesvcutil 不接受 DataTable - WCF 服务
【发布时间】:2015-05-12 11:33:42
【问题描述】:

我的 WCF 服务代理客户端由 "svcutil.exe" 生成,遇到了非常奇怪的问题。如果我没有返回 DataTable 的函数,我的 WCF 服务工作得很好。一旦我添加了一个返回 DataTable 的方法,由 svcutil.exe 生成的客户端的行为就非常奇怪。不再找到接口,客户端无法调用服务。但是,如果我将其添加为服务参考,它的工作会非常顺利。我知道使用 DataTable 作为返回类型不是一个好习惯,但我需要这样做。我无法使用服务参考 :-( 知道它的行为或我缺少什么!!!

【问题讨论】:

    标签: wcf datatable svcutil.exe


    【解决方案1】:

    看看 DataTableSurrogate 类。它被 SyncFramework 用于序列化并且非常易于使用。 MSDN DataTableSurrogate

    【讨论】:

    • 感谢您的回复,我会试试看,但我很想知道有什么方法可以让 svcutil 与 DataTable 一起工作????
    • @Michael :抱歉,但这不是我正在寻找的答案 :-(
    【解决方案2】:

    您不应该真正序列化数据集,而应该使用数据模型并在后端和业务层中保留与数据集、表、读取器等相关的任何内容。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多