我有一个用.NET 4.5编写的wcf Web服务,它可以在使用4.5和我们的单元测试创建的网站上正常工作。
我们已将其连接到较旧的.net 2.0 Web项目,并以完全相同的方式传递日期,但是wcf服务是以01/01/0001 00:00:00传递的。
2.0框架有问题吗?该服务已添加为网络参考。
我们正在填充自定义类型,其他值都很好,唯一的问题是日期时间...
这是WCF类型:
[DataContract]
public class EventType
{
[DataMember]
public string EventTypeCode { get; set; }
[DataMember]
public DateTime RecordedDateTime { get; set; }
[DataMember]
public string UserName { get; set; }
}
RecordedDateTime是问题。
客户端使用Web引用调用wcf服务,并将对象传递如下:
Dim response As aResponse = New aResponse()
response = client.Transfer(request)
答案 0 :(得分:0)
我发现.NET 2.0项目向该类型添加了另一个属性。
在这种情况下,除非属性RecordedDateTimeSpecified设置为true,否则.EventType.RecordedDateTime向服务返回null。
.EventType.RecordedDateTime = Convert.ToDateTime(infoDate.Text.Trim)
.EventType.RecordedDateTimeSpecified = True
设置此值后,日期值将被传递而不会出现任何问题。