我是.net webservices的新手,并且遇到了一些问题。 我有一些wsdl文件,其中包含使用 wsdl.exe 的此webservice和generete代理类的规范。然后通过使用此类发送一些数据,这是一个问题。 代理类有一些不可为空的类型,如 DateTime 。 所以我做不到这样的事情:
someDateField = null;
所以我只是设置
someDateFieldSpecified = false;
这不像我想的那样有效。我不希望通过一些魔法机制将这些字段通过网络发送,并将其添加到我的程序产品xml中。
...
<someDateField>1/1/0001 12:00:00 AM</someDateField>
...
有没有办法不发送这个字段?我读了一些关于创建自定义序列化程序的内容,但在我的知识水平上对我来说是非常困难的任务。
答案 0 :(得分:0)
DateTime
不是可以为空的类型,因此无法接受null
作为值。但是,DateTime?
或Nullable<DateTime>
可以接受空值并应解决您的问题。
将someDateFieldSpecified
proprerty设置为false
只会忽略您请求中的someDateField
字段,但服务器需要确定如何处理该字段。
答案 1 :(得分:0)
将someDateField Specified属性设置为false将简单地省略请求中的someDateField字段,但是由服务器决定如何处理该字段。