首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在WCF OperationContract参数中生成xs:Date

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

Stack Overflow用户
提问于 2009-04-22 10:30:12
回答 5查看 7.2K关注 0票数 16

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

WCF目前只支持xs:DateTime来序列化DateTime参数。

生成带有将被序列化为xs: OperationContract的参数的日期的最简单方法是什么?

我正在考虑有一个自定义的wsdl "public struct“或类似的类型,通过隐式类型转换到标准日期或从标准日期转换,它会以某种方式自动生成xs: DateTime。

这是可能的吗?我该如何去实现它?

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

更新

我发现很难相信这会增加获得解决方案的可能性,但我会听从网站的建议,开始悬赏。

为清楚起见,赏金的条件是提供构造解决方案所需的所有信息,以便WCF OperationContract的参数可以是:

日期序列化为ws:

  • ,并在生成的WSDL中进行了描述。
  • 可以是一个System.DateTime值,也可以隐式地与DateTime相互转换。
EN

回答 5

Stack Overflow用户

发布于 2009-06-27 15:56:21

现在我已经注意到了这一点,我在Please Fully Support xs:Date for Date-Only Parameters and DataMembers的连接中创建了一个新的建议。我给它打了四星级(重要)。

如果任何阅读这篇文章的人觉得这很重要(或者不同意),那么请使用Connect对它进行投票或评论。

票数 5
EN

Stack Overflow用户

发布于 2009-06-28 10:16:24

您指定了将xs:Date作为操作中的参数的要求。问题是,有一种正式的方法来指定这样的需求: WSDL。如果我这样做,我会使用WSDL优先的方法。从定义您想要的约定的WSDL开始,包括接口中的xs:date,在您想要的任何地方。然后使用svcutil.exe生成服务存根。记住要传入/serializer:xmlSerializer。

票数 3
EN

Stack Overflow用户

发布于 2011-04-22 03:03:24

我也有被描述的问题。我已经开发了自己的解决方案- WcfDate自定义类型。它在这里发布:WCF Support for xs:date

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/776534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档