我在wcf服务
中有这样的方法public string PostAllSurveList(List<Survey> surveyList)
{
var surveyDbList = ConstructDbServeyList(surveyList);
foreach (var survey in surveyDbList)
{
_db.surveys.Add(survey);
}
_db.SaveChanges();
return "Successfully Saved";
}
当我通过以下方式在C#中调用此方法时,它正常工作
var surveys = new Survey[]{new Survey{ Id = 1, ConsumerName = "atish"},};
string reply = client.PostAllSurveList(surveys);
但不按以下方式工作
var surveys = new List<Survey>{ new Survey { Id = 1, ConsumerName = "atish"}};
string reply = client.PostAllSurveList(surveys);
出现编译时错误。
我的问题是为什么会发生这种情况。
答案 0 :(得分:5)
创建WCF服务引用时,您可以指定将用于集合的类型(与服务器端的声明方式无关)。在您的情况下,生成服务客户端以使用数组而不是列表。
您需要更改该服务参考配置。
答案 1 :(得分:3)
更改WCF引用在连接时使用的集合类型。这可以在创建或编辑引用时完成。为方便起见,请参阅随附的屏幕截图: