当我从我的网络应用程序调用我的WCF服务时,我收到了上述错误。
代码如下
我实例化我的WCF服务:
ServiceReference1.VideosClient objService = new ServiceReference1.VideosClient();
我创建了我的泛型集合的新实例,因此我可以填充值
IList<Videos> videoItem = new List<Videos>();
videoItem = objService.GetVideoDetailsById(id);
txtTitle.Text = videoItem[0].Title.ToString(); ;
txtDescription.Text = videoItem[0].Description.ToString();
txtRentalPrice.Text = Convert.ToString(videoItem[0].RentalPrice);
但是,当我调用服务的GetVideoDetailsByID
方法时,我收到错误消息
无法将类型'ServiceReference1.Videos []'隐式转换为'System.Collections.Generic.IList
我已经完成了一些类似的帖子,但似乎找不到解决我问题的方法。
我的服务引用属性显示我的集合类型为System.Collection.Generic.List
请帮忙。 非常感谢。
答案 0 :(得分:0)
从表面看,似乎GetVideoDetailsById()
方法返回一个数组,您是否尝试将代码更改为:
Videos[] videoItem;
videoItem = objService.GetVideoDetailsById(id);
或者,为了让它变得非常简单,只需折叠到一行并使用var
var videoItem = objService.GetVideoDetailsById(id);
答案 1 :(得分:0)
默认情况下,“自动生成”服务合同使用Array作为集合类型。如果您想在客户端代码中使用list,您可以:
或
videoItem = objService.GetVideoDetailsById(id).ToList();