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());
}

現在、ビューは5秒ごとに更新されているため、毎回コントローラーinnerPageをトラバースしています。innerPage問題は、コントローラーをトラバースするたびに、モデル内のすべてのデータがリセットされることです(if-block内に入るたびに、そのif-blockmodel.isFirstTimeのみをトラバースする場合にtrueにリセットされることを示します)初めて)。同様に、私model.threadIDListは毎回リセットされています。

ビューが更新されるたびにデータが失われないように、モデルにデータを保存する方法はありますか?

4

1 に答える 1

1

MVCモデルは、コントローラーが呼び出され、ActionResultが返され、実行されることを前提としています。

コントローラアクションでスレッドを開始するのは安全ではないようです。

HTTPリクエストの間にデータを残す必要がある場合は、データがユーザーごとであるかWebサイトに対してグローバルであるかに応じて、セッションまたはキャッシュに保存できます。

真のバックグラウンド処理が必要な場合は、

于 2012-07-05T18:41:45.527 に答える