从WCF服务获取数据时发生转换错误

时间:2015-10-10 07:06:50

标签: c# wcf

ServiceReference1.Service1Client ser = new ServiceReference1.Service1Client();
        List<OneTimeWorkout> list = ser.GetOneTimeWorkouts().ToList();    

我正在尝试获取OneTimeWorkout对象的列表,但是我收到此错误:

  

无法隐式转换typ System.Collections.Generic.List&lt; WN.Manager.ServiceReference1.OneTimeWorkout&gt;       to System.Collections.Generic.List&lt; WN.Models.OneTimeWorkout&gt;

我的服务引用被配置为在所有引用的程序集中重用类型。

我的服务方式:

public List<OneTimeWorkout> GetOneTimeWorkouts()
{
    return new BusinessLogic.BusinessLogic().GetOneTimeWorkouts();
}   

另一个问题是我无法创建

var list = ser.GetOneTimeWorkouts().ToList();   

而不是通用列表,因为稍后我需要将它传递给另一个方法,var列表似乎不起作用(仍然是相同的错误)

在stackoverflow中已经有几个类似的问题,但这些答案似乎都不适合我。

1 个答案:

答案 0 :(得分:1)

您的错误提及WN.Manager.ServiceReference1.OneTimeWorkout这一事实表明您的服务引用不会重用引用程序集的类型。

您可以在解决方案资源管理器中选择服务引用,然后选择Configure Service Reference。在对话框中,确保选中Reuse types in referenced assemblies