通过 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>
...

有什么方法可以不发送此字段吗?我读了一些关于创建自定义序列化程序的信息,但就我的知识水平而言,这对我来说是相当艰巨的任务。

通过 Web 服务将参数作为 null 传递

DateTime不是

可为空的类型,因此它不能接受null作为值。但是,DateTime?Nullable<DateTime>可以接受空值,并且应该可以解决您的问题。

someDateFieldSpecified属性设置为 false 只会省略请求中的someDateField字段,但由服务器决定如何处理。

将 someDateFieldSpecified proprerty 设置为 false 将简单地从您的请求中省略 someDateField 字段,但由服务器决定如何处理它。