我有一個ASP.NET(4.0)webforms應用程序,我想知道在我的web應用程序中用戶之間共享數據時我有什麼選項。在沒有數據庫表的情況下在用戶之間共享數據
最明顯的解決方案是數據庫表。但是有沒有其他的選擇?我已經閱讀了一些關於「應用程序範圍」的內容,但我不確定它對於這種情況是否有用。
我有一個ASP.NET(4.0)webforms應用程序,我想知道在我的web應用程序中用戶之間共享數據時我有什麼選項。在沒有數據庫表的情況下在用戶之間共享數據
最明顯的解決方案是數據庫表。但是有沒有其他的選擇?我已經閱讀了一些關於「應用程序範圍」的內容,但我不確定它對於這種情況是否有用。
應用程序是您正在尋找的。
if (Application["CurrentUsers"] == null)
Application["CurrentUsers"] = 0;
Application["CurrentUsers"] += 1;
爲當前在線計數器只是一個例子。
反應的一生,看到global.asax
:
protected void Application_Start(object sender, EventArgs e)
{
Application["CurrentUsers"] = 0;
}
protected void Application_End(object sender, EventArgs e)
{
Application["CurrentUsers"] = null;
}
應用對象或將其存儲在內存數據庫
應用程序對象是否在某個時候自動清除? – Johan 2013-03-19 14:27:48
直到工作進程沒有被回收或者你需要清除它。 – TalentTuner 2013-03-19 14:29:27
當應用程序池被回收或在IIS上重新啓動應用程序時會發生這種情況。它也發生在web.config發生變化時。您可以通過global.asax中的Application_Start和Application_End鉤住應用程序事件 – 2013-03-19 14:31:32
爲什麼你不希望使用一個數據庫?通過它的聲音,它正是你應該使用的。 – Servy 2013-03-19 14:27:42
@Servy數據庫目前有大約300個表,所以我想以另一種方式解決它 - 如果可能的話。 – Johan 2013-03-19 14:28:42
如果應用程序的複雜程度很高,那麼這個信息屬於一個更重要的原因,而不是幾乎任何其他選項。如果這是一個hello world應用程序,並且你不會爲學習如何配置數據庫而煩惱,那麼我會考慮其他任何事情的唯一原因是,但這顯然不是這種情況。聽起來就像你只需要花費一些時間來適當地構建數據庫,可能使用模式或甚至多個數據庫實例來隔離(並因此模塊化)數據以使其更容易處理。 – Servy 2013-03-19 14:31:07