WCF and Datetime parsing?

本文关键字:parsing Datetime and WCF | 更新日期: 2023-09-27 18:00:34

我得到了一个WCF服务(Webservice HTTP),它包含一个服务方法,该方法接受一个包含DateTime?(可为null)的数据协定。

现在,当客户端向这个DateTime字段发送这样的字符串时,会有异常报告

"2018-04-00T00:00:00"

我知道这不是一个正确的日期时间,但根据BizTalk用户的说法,这是一个Web服务标准吗?

那么我应该如何使用WCF处理这个问题呢?

WCF and Datetime parsing?

我可以看到这是一种灰色地带,但事实是序列化程序无法处理正在发送的数据。序列化程序是抵御消息中坏数据的第一道防线,也是捕获所有可能的坏数据排列的唯一方法(除非您有500行验证代码)。如果明天他们决定给你发一个类似"2018-78-45T00:00"的日期怎么办?

对我来说,这意味着改变的负担在呼叫者一方。句点问题不在于他们发送的数据格式不好,而在于他们发送了完全不好的数据。

如果他们不能提供正确填充的日期值,那么在中向他们返回包含该信息的异常是完全合理的解决方案。

WCf使用这个DateTime xml模式。根据schema,该格式似乎是有效的,但由于第三个参数(00)表示日期,而正确的日期参数从01开始,因此它失败了。