通过 Web 服务将参数作为 null 传递
本文关键字:null 传递 参数 Web 服务 通过 | 更新日期: 2023-09-27 18:37:00
我是.net Web服务的新手,并且遇到了一些问题。我有一些wsdl文件,其中包含使用wsdl.exe的Web服务和generete代理类的规范。然后通过使用此类发送一些数据,这是一个问题。代理类具有一些不可为空的类型,例如日期时间。所以我不能做这样的事情:
someDateField = null;
所以我只是设置
someDateFieldSpecified = false;
这并不像我想的那样工作。我不想通过一些神奇的机制通过网络发送此字段,将其添加到我的程序产品中的 xml。
...
<someDateField>1/1/0001 12:00:00 AM</someDateField>
...
有什么方法可以不发送此字段吗?我读了一些关于创建自定义序列化程序的信息,但就我的知识水平而言,这对我来说是相当艰巨的任务。
DateTime
不是可为空的类型,因此它不能接受null
作为值。但是,DateTime?
或Nullable<DateTime>
可以接受空值,并且应该可以解决您的问题。
将someDateFieldSpecified
属性设置为 false
只会省略请求中的someDateField
字段,但由服务器决定如何处理。
将 someDateFieldSpecified proprerty 设置为 false 将简单地从您的请求中省略 someDateField 字段,但由服务器决定如何处理它。