对于仅表示日期(没有时间组件或时区指示符)的OperationContract的参数,最好使用xs:Date,以避免任何歧义或客户端与服务器之间的时区转换问题。
WCF目前只支持xs:DateTime用于序列化DateTime参数。
使用将被序列化为xs的参数来生成OperationContract的最简单方法是什么?
我正在考虑使用一个自定义的.NET类型“public struct DateOnly”或类似的,使用/从标准DateTime进行隐式转换,这将以某种方式自动将wsdl生成为xs:Date。
这是可能的,我将如何执行它?
如果可能,我怀疑该解决方案可能涉及在自定义类型上使用XmlSchemaProviderAttribute,但是我在此属性上找到的任何文档似乎有点不透明。
更新
我觉得很难相信会增加获得解决方案的可能性,但是我会按照网站的建议,开始一个赏金。
为了清楚起见,赏金的条件是提供构建解决方案所需的所有信息,以便WCF OperationContract的参数可以是:
>序列化为ws:Date并在生成的WSDL中进行描述。
>是System.DateTime值,或者可以隐式转换到/从DateTime。
现在这已经引起了我的注意,我已经在
Please Fully Support xs:Date for Date-Only Parameters and DataMembers创建了一个新的连接建议。我用四颗星(重要的)评价了这个。
如果读者觉得这很重要(否则不同意),那么请使用Connect进行投票或对其进行评论。