2017-04-05 12 views
0

私のアプリケーション内では、ログインした後、ログインしたばかりのところで、ちょうど作成したセッションを何とか追跡する必要があります。彼らがログインすると、2つのオプションがあります。建物に入り、ログインプロセスを完了するか、そのセッションの機器をチェックアウトします。私はアイテムのチェックアウトのためにアプリケーション内でそのセッションを追跡する必要があります。しかし、私は、機器ビューの前に各ビューを通して現在のセッションモデルを渡す必要はありませんか?現在、私はTempDataを使用していますが、私が信じている2つのリダイレクトの後に一時的なデータがクリアされるどこかで私が読むと、恒久的な一時データやそれ以外の安全なものがありますか?助けてくれてありがとう。MVCアプリケーションにモデルを渡したり、モデルを各ビューに渡さずにモデルを渡して保存するにはどうすればよいですか?

答えて

0

このデータはセッション状態として保存できます。コントローラに明示的に渡す必要はなく、コントローラのアクション内でアクセスできるHttpContextの一部です。

MyUserContextData current = null; 

// retrieve 
if (HttpContext.Current != null && HttpContext.Current.Session != null) { 
    current = HttpContext.Current.Session["UserContextData"] as MyUserContextData; 
} 

// store 
if (HttpContext.Current != null && HttpContext.Current.Session != null) { 
    HttpContext.Current.Session["UserContextData"] = current; 
} 

ASP.NET Session State Overview

セッション状態を使用すると、同時要求を妨げる可能性があると警告すること。

ASP.NET Concurrent Ajax Requests and Session State Blocking

+0

完璧なこれはすばらしいおかげです! – RainMan

関連する問題