我無法序列化這個東西。如何序列化WCF DataContract中的可空DateTime?
namespace Such.Namespace.Wow
{
[DataContract(Namespace = "http://very.namespace.uh")]
public class DogeResponse
{
[DataMember]
public virtual int Foo { get; set; }
[DataMember]
public virtual DateTime? ExpiringDate { get; set; }
}
}
在生成WSDL:
<xs:complexType name="DogeResponse">
<xs:sequence>
<xs:element minOccurs="0" name="Foo" type="xs:int"/>
<xs:element minOccurs="0" name="ExpiringDate" nillable="true" type="xs:dateTime"/>
</xs:sequence></xs:complexType>
但出現運行時異常並返回爲XML錯誤:
<SerializationException>
<Message>ValueType 'System.DateTime' cannot be null.</Message>
是的,我看到了一個 「類似」 的問題,但它是關於ASMX服務在較老的.NET中。
我想知道如何在.NET 4.5 WCF服務中做到這一點?
拋出這個exeption在哪裏?在服務器端還是客戶端?你是否首先有一個不可爲空的DateTime,並將其更改爲可爲空的DateTime?那麼,你是否也刷新了你的客戶端參考? –
先生,看起來你是正確的,它看起來像我沒有刷新WCF風暴客戶端...謝謝,請將它發佈爲答案 – evictednoise