【发布时间】:2015-09-14 06:32:47
【问题描述】:
我无法序列化这个东西。
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>
是的,我看到了一个“类似”的问题,但它是关于较旧的 .NET 中的 ASMX 服务。
我想知道如何在 .NET 4.5 WCF 服务中做到这一点?
【问题讨论】:
-
这个异常在哪里抛出?在服务器端还是客户端?您是否首先有一个不可为空的日期时间,然后您将其更改为可空的日期时间?在那方面,您是否也刷新了您的客户端参考?
-
先生,看来您是对的,看来我没有在 WCF Storm 中刷新客户端...谢谢,请将其发布为答案
标签: c# wcf nullable datacontractserializer datacontract