0

假设我有一个 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当我只想遍历 if 块时它被重置为 true第一次)。同样,我model.threadIDList的每次都被重置。

有没有办法让我将数据保存在我的模型中,这样每次我的视图刷新时它都不会丢失?

4

1 回答 1

1

MVC 模型假设控制器将被调用,返回一个 ActionResult 然后完成。

在控制器操作中启动线程似乎并不安全。

如果您需要在 HTTP 请求之间保留数据,您可以将其存储在SessionCache中,具体取决于数据是针对每个用户还是对网站来说是全局的。

如果您需要真正的后台处理,请查看

于 2012-07-05T18:41:45.527 回答