假设我有一个Web应用程序和一个名为innerPage
的视图,对于那个模型看起来像这样的应用程序:
public class innerPageModel
{
public bool isFirstTime = true;
public List<int> threadIDList;
}
这是我innerPage
的控制器:
public ActionResult innerPage(InnerPageModel model)
{
if (model.isFirstTime == true)
{
Thread t = new Thread(Work);
model.threadIDList.Add(t.ManagedThreadID);
model.isFirstTime = false);
}
System.Diagnostics.Debug.Write((model.threadIDList.Count).toString());
}
现在我的innerPage
视图每5秒刷新一次,因此每次都会遍历我的innerPage
控制器。问题是我的模型中的所有数据都在每次遍历控制器后被重置(每次它进入if块时,表示当我只想遍历那个时model.isFirstTime
被重置为true第一次if-block)。同样,我的model.threadIDList
每次都会重置。
我有没有办法在我的模型中保存数据,以便每次我的视图刷新时都不会丢失数据?
答案 0 :(得分:1)
MVC模型假定将调用控制器,返回ActionResult然后完成。
它does not seem safe启动控制器操作中的线程。
如果您需要在HTTP请求之间保留数据,则可以将其存储在Session或Cache中,具体取决于数据是按用户还是网站的全局数据。
如果您需要真正的后台处理,请查看