0

我有一个 WCF 服务,其操作如下:

    public void setNotifications(List<AnnouncementDataContract> announcements)
    {
        foreach(AnnouncementDataContract item in announcements)
        {
            ent.InsertAnnouncements(item.Anc_Text, item.Anc_Date);
        }
    }

当我将此 WCF 服务添加为我的 MVC 应用程序中的 Web 引用并调用如下方法时:

       MyService.Service1 proxy = new MyService.Service1();
       Collection<MyService.AnnouncementDataContract> dc = new 
                              Collection<MyService.AnnouncementDataContract>();
        MyService.AnnouncementDataContract dc1 = new              
        MyService.AnnouncementDataContract();
        dc1.anc_Date = System.DateTime.Now;
        dc1.anc_Text = "Announcement1";
        dc.Add(dc1);
        proxy.setNotifications(dc.ToArray());

服务操作中“公告”的每个项目中的值被重置,我将其作为最小日期时间值而不是我在调用操作时从我的 MVC 应用程序发送的值。

但是,当我将此 WCF 服务作为服务引用添加到我的 MVC 应用程序中并调用该操作时,它工作正常,并且在服务中获得了正确的 datetime 值。

4

1 回答 1

0

我只是有同样的问题。这是因为为您的 AnnouncementDataContract 类生成的代理代码还创建了一个名为 Anc_DateSpecified 的属性,该属性必须设置为 true。这适用于所有值类型。

于 2015-11-25T13:39:42.907 回答