如何在WCF OperationContract参数中生成xs:Date

对于仅表示日期的OperationContract参数(无时间组件或时区指示符),最好使用xs:date,以避免客户端和服务器之间的时区转换出现任何歧义或问题

WCF目前仅支持xs:DateTime序列化DateTime参数

使用将序列化为xs:Date的参数生成OperationContract的最简单方法是什么

我正在考虑使用一个自定义的.NET类型“public struct DateOnly”或类似的类型,对标准日期时间进行隐式转换,以某种方式自动将wsdl生成为xs:Date

这可能吗?我将如何着手实施它

如果可能的话,我怀疑解决方案可能涉及在自定义类型上使用XmlSchemaProviderAttribute,但是我在这个属性上找到的任何文档似乎都有点不透明

更新

我觉得很难相信这会增加获得解决方案的可能性,但我会按照网站的建议开始悬赏

为清楚起见,悬赏的条件是提供构建解决方案所需的所有信息,以便WCF运营合同的参数可以是:

  • 序列化为ws:Date并在生成的WSDL中进行描述

  • 是System.DateTime值,或者可以隐式转换为DateTime或从DateTime转换

现在我已经注意到了这一点,我在Connect中创建了一个新建议,请完全支持xs:Date for Date-Only参数和DataMembers。我用四颗星给它评级(重要)

如果阅读本文的任何人认为这很重要(或不同意),请使用“连接”对其进行投票或评论

发表评论