对于仅表示日期(没有时间部分或时区指示符)的日期的参数,最好使用xs: OperationContract,以避免客户端和服务器之间的时区转换出现任何歧义或问题。
WCF目前只支持xs:DateTime来序列化DateTime参数。
生成带有将被序列化为xs: OperationContract的参数的日期的最简单方法是什么?
我正在考虑有一个自定义的wsdl "public struct“或类似的类型,通过隐式类型转换到标准日期或从标准日期转换,它会以某种方式自动生成xs: DateTime。
这是可能的吗?我该如何去实现它?
如果可能,我怀疑解决方案可能涉及在自定义类型上使用XmlSchemaProviderAttribute,但我找到的关于此属性的任何文档似乎都有点不透明。
更新
我发现很难相信这会增加获得解决方案的可能性,但我会听从网站的建议,开始悬赏。
为清楚起见,赏金的条件是提供构造解决方案所需的所有信息,以便WCF OperationContract的参数可以是:
日期序列化为ws:
发布于 2009-06-27 15:56:21
现在我已经注意到了这一点,我在Please Fully Support xs:Date for Date-Only Parameters and DataMembers的连接中创建了一个新的建议。我给它打了四星级(重要)。
如果任何阅读这篇文章的人觉得这很重要(或者不同意),那么请使用Connect对它进行投票或评论。
发布于 2009-06-28 10:16:24
您指定了将xs:Date作为操作中的参数的要求。问题是,有一种正式的方法来指定这样的需求: WSDL。如果我这样做,我会使用WSDL优先的方法。从定义您想要的约定的WSDL开始,包括接口中的xs:date,在您想要的任何地方。然后使用svcutil.exe生成服务存根。记住要传入/serializer:xmlSerializer。
发布于 2011-04-22 03:03:24
我也有被描述的问题。我已经开发了自己的解决方案- WcfDate自定义类型。它在这里发布:WCF Support for xs:date
https://stackoverflow.com/questions/776534
复制相似问题