C# WCF问题-未到达第行

C# WCF问题-未到达第行,c#,.net,wpf,wcf,C#,.net,Wpf,Wcf,我有一个WCF服务库,名为ServerWCF,其中包含一个“AdminService”服务。此服务的方法之一是List LoadStation(),它应该从我的数据库返回火车站列表 我还有一个WPF客户端,我正在使用一个下拉列表,其中应该包含站点的城市。当我在客户机中添加名为AdminServiceReference的服务引用时,我注意到该方法的签名是Station[]Load Station(),而不是ListLoadStation()。我不知道我是否能对此做些什么,因为代码是在客户端自动生成

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

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

客户端代码:

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;
            }
        }
公共列表加载站()
{
列表=新列表();
使用(var context=new RailwaySystemModelContainer())
{
/*foreach(context.Stations中的变量站)
列表。添加(站点)*/
list.AddRange(context.Stations);
退货清单;
}
}

我在使用列表作为返回类型时遇到一些问题。情况有所不同,但您可以尝试将
装货站的返回类型更改为一个站点数组。还可以尝试删除您的引用,生成服务器端代码,然后再次添加引用。您可能会遇到一些不匹配的情况。此外,
站点
应标记为s a
DataContract
及其属性为
DataMember
,以通过服务成功传递它。

请发布您的站点类定义。@YawarMurtaza,请在此处查看:我的所有类都是由实体框架生成的,因为我使用了设计优先的方法。我已经从下面的答案中阅读了您的评论,您已经准备好用DataContract修饰Station类,用DataMember修饰Station类的属性,这样就可以了。但是,您发布的链接并没有显示我可以放心地假设它是Station类的旧版本。如果您可以在“var list=adminProxy.LoadStations();”上设置断点然后逐步查看列表对象中的内容?或者,您可以将对wcf方法的调用包装到try-catch方法中,并查看是否引发任何异常?如果可能,我还希望查看绑定配置。@YawarMurtaza,请帮助我理解一件事……我已经做到了:在IAdminService中。我需要更改绑定配置吗Station类的properties?Station被标记为DataContract,properties被标记为DataMember。正如我所说,当我只将城市名称作为字符串传递时,我就这样做了,但我现在需要Station。我尝试了Station[]同样,重建服务器和客户端,重新添加引用,调试代码,数组具有所有值,但当我跳过时,不会转到foreach,而是返回到方法的开头,然后返回到哪里?它再次执行整个方法或跳到结尾?它返回到第一行,清除组合框:(事实上,wpf窗口弹出时不让我看到foreach中发生了什么,也不让我看到是否达到了预期效果。