【问题标题】:How to serialize nullable DateTime in a .net web service?如何在 .net Web 服务中序列化可为空的 DateTime?
【发布时间】:2010-09-17 10:38:09
【问题描述】:

我正在尝试通过 Web 服务将一些 Subsonic 集合传递给客户端。当我引用 IDE 抱怨的 Web 服务时:

无法序列化 System.Nullable`1[System.DateTime] 类型的成员“EndDate”。 XmlAttribute/XmlText 不能用于编码复杂类型。

有没有办法在 .net Web 服务中序列化可为空的复杂类型?

【问题讨论】:

    标签: .net web-services datetime serialization


    【解决方案1】:

    这是 .NET 的限制

    如果您愿意,可以尝试在 web.config 文件的 SubSonicService 部分中使用此属性生成您的类。

    generateNullableProperties="false"

    http://forums.subsonicproject.com/forums/t/3285.aspx

    【讨论】:

    • .NET 3.5 中是否仍然存在此限制?
    【解决方案2】:

    处理可选属性的方式是包含一个布尔值 XXXSpecified 成员,其中 XXX 是属性的名称。 ASMX 使用的 xml 序列化程序未正确处理可空类型。请注意,这不是 WCF 的限制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多