2013-10-26 54 views
1

我是新的.net web服務,並與他們有一些問題。 我有一些wsdl文件,這個webservice和generete代理類的規範使用wsdl.exe。然後通過使用這個類發送一些數據,這是一個問題。 代理類有一些不可爲空的類型,如DateTime。 所以我不能做這樣的事情:通過web服務傳遞參數爲空

someDateField = null; 

所以我只設置

someDateFieldSpecified = false; 

而這種不喜歡的工作,我認爲。我不想通過一些神奇的mechanizm通過網絡發送這個領域與我的程序產生的XML。

... 
<someDateField>1/1/0001 12:00:00 AM</someDateField> 
... 

有沒有辦法不發送這個字段?我閱讀了一些關於創建自定義序列化器的知識,但對我而言,我的知識水平相當困難。

+2

您是否嘗試過使用'DateTime?'而不是'DateTime'? –

+0

Yeap它的工作原理。我做了錯誤的假設,如果我改變代理類中的某些東西,我會遇到合同問題。 – Bagietax

回答

0

DateTime不是可以爲空的類型,因此它不能接受null作爲值。但是,DateTime?Nullable<DateTime>可以接受空值並應解決您的問題。

someDateFieldSpecified屬性設置爲false將簡單地從您的請求中忽略someDateField字段,但由服務器決定如何處理該字段。

0

將someDateFieldSpecified屬性設置爲false將簡單地從請求中忽略someDateField字段,但是由服務器決定如何處理該字段。