将数据对象列表从客户端发送到Web服务

时间:2014-05-30 23:02:25

标签: c# winforms linq web-services

我有一个关于Web服务的在线数据库和一个客户端计算机上的一个脱机数据库(以防万一网络不能正常工作,系统仍可以工作)。当用户单击窗口控件上的按钮时,我想同步这两个数据库。所以我使用一种Web方法从客户端接收数据列表。

[WebMethod]
public bool updateNewMenu(List<Menu> mn) {
    return !(m.updateNM(mn)) ? true : false;
}

在客户端计算机上,我尝试发送数据列表,但出现错误

private void btnUploadMenu_Click(object sender, EventArgs e)
    {
        List<Menu> m = dbc.Menus.ToList();

        if (!mywebservice.updateNewMenu(m))
        {
             //do something if cannot send data
        }
    }

错误说

  

“最好的重载方法匹配   'WoB.com.somee.wswob.WOBWS.updateNewMenu(WoB.com.somee.wswob.Menu [])'   有一些无效的参数“。”无法转换   'System.Collections.Generic.List'到   'WoB.com.somee.wswob.Menu []'“

这两个数据库具有相同的结构,但不知何故它无法将这个数据库的列表转换为另一个数据库。

无论如何我能做到吗?

1 个答案:

答案 0 :(得分:1)

您似乎需要重新配置服务参考

  • 转到“服务参考”文件夹
  • 右键单击Service类。
  • 选择“配置服务参考”
  • 将CollectionType组合更改为System.Collections.Generic.List