2

我想存储一个登录信息user globaly。如果用户已经登录,那么如果another user想从另一台 PC 登录,则应用程序必须警告他另一个user也使用此登录name

我不想使用DataBase. 我认为HttpApplication是一个解决方案。但我无法理解它的流程。

我所知道的是,我必须在文件中为其赋值Global.asax.cs

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
             Application["Username"] = "Test";
        }
   }

现在我想在一个中访问它controller,在Login Function那里我会检查是否Application有一些数据。

如果是null,则没有user登录。但我不明白如何访问HTTPApplication对象以及如何usernameApplication_Start().

4

2 回答 2

3

在控制器中,您可以访问应用程序对象。IE。

public ActionResult Index()
        {
            string value = HttpContext.Application["a"] as string;
            if (value == null){
                value = DateTime.Now.ToLongTimeString();
                HttpContext.Application["a"] = value;
            }

            return Content(value);                
        }
于 2013-09-03T10:22:39.470 回答
0

尝试这个,

string value = HttpContext.Current.Application["a"] as string;
于 2013-09-03T10:52:06.247 回答