2009-08-14 81 views
4

保存ASP.NET應用程序狀態以重新啓動的任何好方法?跨重新啓動保留ASP.NET應用程序狀態

我想能夠設置一些值重新啓動應用程序,讓他們仍然在那裏。 我想主要爲小甚至不需要數據庫的「丟棄」測試Web應用程序執行此操作。

有沒有辦法用靜態成員和序列化來做到這一點?網頁緩存?

UPDATE
應用程序應該能夠更新這些值。
值可能是自定義對象,如:

public class Person  
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; }  
} 
+0

如何將這些值存儲在web.config文件中? – 2009-08-14 18:58:35

+0

如果該值是一個小的對象圖...會堅持web.config嗎?從來沒有嘗試過。 – BuddyJoe 2009-08-14 18:59:44

+2

請澄清一下問題 - 您是否需要應用程序能夠更改這些值,然後在應用程序重新啓動時顯示它們?如果是這樣,那麼XML將它們序列化爲其他XML文件,然後在應用程序啓動時讀取它們。 – 2009-08-14 19:01:59

回答

1

你需要某種形式的持久性數據存儲,這是否是一個數據庫,XML文件或別的東西。

您可能會感興趣的SimpleRepository with SqlLite from SubSonic這很接近您所描述的。

+0

我想稍微輕點一點。但是我昨天用SQLite做了SimpleRepo。我不知道序列化XML是除db4o和亞音速之外唯一的其他方式。 – BuddyJoe 2009-08-14 19:05:39

2

爲什麼不直接使用ASP.NET狀態服務:

http://msdn.microsoft.com/en-us/library/ms972429.aspx

我缺少的東西?

+2

進程重新啓動時會話狀態丟失。它不是持久的。 – 2009-08-14 21:15:40

+0

Nader,如果使用ASP.NET State Service執行應用程序重新啓動,會話狀態不會丟失。這超出了你的應用程序的進程。 – 2009-08-14 22:24:45

+0

但它會是一個用戶的用戶事情吧? – BuddyJoe 2009-08-15 06:39:22

0

我相信你可以將ASP .NET會話存儲在SQL Server Server數據庫中。我會想象它會在應用程序重新啓動,甚至關機/重新啓動時持續存在。

相關問題