WCF问题 - 未达到行

时间:2017-04-04 21:16:41

标签: c# .net wpf wcf

我有一个名为ServerWCF的WCF服务库,其中包含“AdminService”服务。这项服务的方法之一是List LoadStation(),它应该从我的数据库中返回列车站列表。

我还有一个WPF客户端,我正在使用一个应该包含站点城市的下拉列表。当我在名为AdminServiceReference的客户端中添加服务引用时,我注意到该方法的签名是Station [] Load Station()而不是ListLoadStation()。我不知道我是否可以对此做任何事情,因为代码是在客户端自动生成的,但无论如何(我使用了resharper重构建议,但没有任何区别)。问题是,在下面的代码中,永远不会访问foreach行。我在上面的一行上放了一个断点,我走进去,注意到服务器返回的列表包含了所有的站点,这是一件好事,但是在我走出去并且一步一步之后,该程序不会转向foreach填充下拉列表,但返回到第二行,这就是为什么,显然,我的下拉列表仍然是空的,孤独和悲伤的原因:(任何提示我如何解决这个问题?PS:相同的代码工作正常我的列表是一个ArrayList,只包含Cities,但我需要所有的对象。

客户代码:

private void fromStationCB_DropDownOpened(object sender, EventArgs e)
        {
            var adminProxy = new AdminServiceClient();
            fromStationCB.Items.Clear();
            var list = adminProxy.LoadStations();
            foreach (var items in list)
                fromStationCB.Items.Add(items.City);
            label5.Content = "";
        }

服务器代码:

public List<Station> LoadStations()
        {
            List<Station> list = new List<Station>();
            using (var context = new RailwaySystemModelContainer())
            {
                /*foreach (var station in context.Stations)
                    list.Add(station);*/
                list.AddRange(context.Stations);
                return list;
            }
        }

1 个答案:

答案 0 :(得分:0)

使用list作为返回类型时遇到了一些问题。它有所不同,但您可以尝试将LoadStations的返回类型更改为Station数组。另外,请尝试删除您的引用,构建服务器端代码,然后再次添加引用。你可能会有一些不匹配。同时Station应标记为DataContract,其属性为DataMember,以便通过服务成功传递。{/ p>