2013-04-14 104 views
0

我正在用三種類型的用戶:學生,工作人員和管理員在ASP.NET MVC中編寫應用程序。ASP.NET MVC設置永久全局訪問變量的值

學生必須能夠選擇和申請由管理員設置的程序。程序分爲術語:夏季,秋季和春季,它們保存在名爲「術語」的程序表的數據庫字段中。

我希望管理員能夠設置該術語,因此當用戶(學生和工作人員)登錄時,他們只能查看僅適用於該術語的程序。事情是我無法將它保存在數據庫中,因爲我的數據庫中有諸如StaffProfile(檢索管理員和工作人員的用戶名和密碼)和程序(包含每個程序的信息)等表以及僅用於該術語的新表成爲理想的解決方案。

我想將術語變量保存在某處,可以全局訪問,並且在應用程序結束時不會被銷燬。

也許這有一個簡單的解決方案,我看不到。我已經考慮ApplicationState,但我不知道這是否是要走的路。 歡迎任何想法。

回答

0

根據我對你的問題的理解。您可以將全局變量存儲在web.config或global.asax文件中。你也可以使用會話。你有靜態聲明靜態類的另一個選項。像

public static class GlobalVariables 
{ 
    // readonly variable 
    public static string Foo 
    { 
     get 
     { 
      return "foo"; 
     } 
    } 

    // read-write variable 
    public static string Bar 
    { 
     get 
     { 
      return HttpContext.Current.Application["Bar"] as string; 
     } 
     set 
     { 
      HttpContext.Current.Application["Bar"] = value; 
     } 
    } 
} 

請糾正我如果我錯了。

+0

它完美的工作,但我有一個問題。由於我還沒有發佈我的應用程序,當我在Visual Studio中重新啓動它時,該值被刪除。我的問題是,如果我發佈它,只要應用程序啓動並運行,它的值就會被保存下來嗎? – user2279728