Asp.net mvc ASP.NET MVC存储从临时视图检索的数据
如何在内存中存储提交给控制器约一小时的数据列表,以便调用另一个操作并提取此数据 原因:我需要展示一个演示应用程序,没有时间编写数据库逻辑。所以我想用对象列表来模拟一个数据库 例如,我向控制器操作“Create”发送一个人员列表{FirstName,LastName},将其临时存储在列表中Asp.net mvc ASP.NET MVC存储从临时视图检索的数据,asp.net-mvc,Asp.net Mvc,如何在内存中存储提交给控制器约一小时的数据列表,以便调用另一个操作并提取此数据 原因:我需要展示一个演示应用程序,没有时间编写数据库逻辑。所以我想用对象列表来模拟一个数据库 例如,我向控制器操作“Create”发送一个人员列表{FirstName,LastName},将其临时存储在列表中 然后,我稍后调用另一个控制器操作“GetPeople”,以检索此人员列表。我能理解您的目标吗?它是否在两个控制器之间传递数据? 控制器的作用是从底层数据存储中获取数据,处理数据,并将数据传递给视图以供显示 在您
然后,我稍后调用另一个控制器操作“GetPeople”,以检索此人员列表。我能理解您的目标吗?它是否在两个控制器之间传递数据? 控制器的作用是从底层数据存储中获取数据,处理数据,并将数据传递给视图以供显示
在您描述的场景中,您希望向控制器提交数据一个小时,然后另一个控制器希望获取此数据?为什么要将此数据保留在内存中?是因为两个控制器使用相同的数据,并且您希望避免两次往返数据存储。根据web服务器进程的不稳定性和数据的重要性,您可以:
- 将其临时存储在数据库中(将是最安全的)
- 把它放在冰箱里
- 您可以使用会话
Session["list"] = MyList
听起来你只是想模拟一些数据。为什么不创建一个模拟接口来代替数据库呢。这也会使您的测试更容易 您可以创建一个静态类,返回您需要的所有数据,然后调用它。如果您希望能够添加到它中,请创建一个初始化函数,该函数在应用程序首次启动时运行,将您的所有数据存储在
会话中,然后从会话中添加和删除您的数据。公共静态类PeopleRepository
public static class PeopleRepository
{
private static List<Person> people;
static PeopleRepository()
{
people = new List<Person>();
// some test data
people.Add(new Person { FirstName = "Foo", LastName = "Bar" });
// ...
}
public static void AddPerson(Person p)
{
people.Add(p);
}
public static List<Person> GetPersons()
{
return people;
}
}
{
个人静态列表;
静态PeopleRepository()
{
人员=新列表();
//一些测试数据
添加(新人物{FirstName=“Foo”,LastName=“Bar”});
// ...
}
公共静态无效添加人(人p)
{
新增(p);
}
公共静态列表GetPersons()
{
还人,;
}
}