ASP.NET 2.0 VB客户端将日期作为01/01/0001 00:00:00传递给WCF服务

时间:2018-08-15 08:28:59

标签: asp.net wcf datetime .net-2.0

我有一个用.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)

1 个答案:

答案 0 :(得分:0)

我发现.NET 2.0项目向该类型添加了另一个属性。

在这种情况下,除非属性RecordedDateTimeSpecified设置为true,否则.EventType.RecordedDateTime向服务返回null。

.EventType.RecordedDateTime = Convert.ToDateTime(infoDate.Text.Trim)
.EventType.RecordedDateTimeSpecified = True

设置此值后,日期值将被传递而不会出现任何问题。