2010-09-16 28 views
-2

重定向後,會話數據丟失?如何重定向而不會丟失asp.net MVC2中的會話數據?

+7

如果你想回答在這個問題上也付出了一些努力。你現在使用什麼樣的代碼來進行重定向? – mare 2010-09-16 13:33:56

+0

http://WhatHaveYouTried.com我們是志願者誰想要幫助您的具體問題。我們捐出時間;捐贈你的一些,並表明你至少已經嘗試過** ** – Eonasdan 2012-11-13 14:18:35

回答

1

謝謝你的回覆。我發現我寫了一些文件的Web應用程序,所以會話丟失

您的asp.net應用程序正在重新啓動。您可能正在寫入asp.net文件夾中的一個位置,導致應用程序重新編譯/而不僅僅是一個子文件夾。一個特殊的位置是bin文件夾,將最小的文件放在那裏你有一個回收站(應該沒有文件)。

以上可以通過寫入到asp.net文件夾以外的位置來避免。另一種方法是,您可以寫入頂層的其他子文件夾,但不應獲得回收。

另一種選擇是通過使用不同的SessionStoreProvider將會話移出進程。當使用基於內存的代碼時,你的代碼不應該依賴不會丟失的會話,因爲還有其他原因可以發生asp.net回收。


你真的需要在正常條件下發布的詳細信息,該信息沒有出現在asp.net MVC2丟失。

如果您僅在1個請求期間引用TempData,則這是有意設計的。它只適用於下一個請求。

如果它的常規會話,也許你只有在.config和瀏覽器中配置的基於cookie的會話已經阻止了cookie。

也許您正在使用完整的網址(使用http://mydomain)重定向,並且您使用的是無Cookie(或瀏覽器屏蔽了Cookie並且它已恢復爲無Cookie),使用http://mydomain使asp.net不會將其視爲一個請求內的應用程序,並不會將會話ID添加到該網址。

+0

謝謝你的回覆。我發現我寫了一些文件到webapp,所以會話丟失了。 – fjjiaboming 2010-09-18 14:25:27