如何将对象列表从 WCF 服务传递到 ASP.NET Web 应用
本文关键字:ASP NET 应用 Web 服务 对象 列表 WCF | 更新日期: 2023-09-27 18:35:46
我正在尝试将列表从我的 WCF 服务传递到我的 ASP.NET Web 应用程序。
首先,我传递了一个通常的对象列表,并在配置中使用了System.Collections.Generic.List
,一切都很好。
现在我更改了代码并从列表中创建了一个对象。
该类如下所示:
public class Persons : List<Person>
{
private List<Person> personlist;
public Persons()
{
personlist = new List<Person>();
}
}
现在我在配置上挣扎。
我必须在配置中更改哪些内容?
我将集合类型设置为:System.Collections.ObjectModel.Collection
我的客户没有给我错误:
WCF.Persons personlist = client.GetPersonList(@"C:'example");
但是当我运行应用程序时,我收到一个错误:
传递到字典中的模型项类型为"WCFasp.net.WCF.Persons",但此字典需要类型为"System.Collections.Generic.List'1[WCFasp.net.WCF.Person]"的模型项。
甚至有可能通过这样的事情吗?我必须在哪里进行更改?
我搜索了很多寻找一个好的答案,但找不到任何有用的东西。
您的 wcf 客户端代码很好,问题出在视图中,因为它只理解类型 List<Person>
的对象,您可以将其向上转换为 Base 类型,这是在将其传递给视图之前List<Person>
WCF.Persons personlist = client.GetPersonList(@"C:'example");
return View(personlist as List<Person>);
并且您的视图被强键入以List<Person>
我怀疑:
@model List<Person>
WCF.Persons persons = client.GetPersonList(@"C:'example");
return View(persons);
您的观点应如下
@model WCF.Persons
@foreach(var person in Model)
{
@person
}