C# 全局变量MVC应用程序

C# 全局变量MVC应用程序,c#,asp.net-mvc,C#,Asp.net Mvc,我在使用MVC5的MVC应用程序中工作。我想知道如何声明一个全局变量。我在global.asax中创建了如下变量: HttpContext.Current.Application["Login"] = "Jonh Doe"; 我还在控制器中创建了私有静态成员。但我已经意识到,如果两个用户正在浏览应用程序,那么变量上的一个存储值将在其余用户之间共享 我可以用什么方法存储应用程序的所有实例之间未共享的变量?是的,您可以使用会话,该会话仅对当前用户是全局的: HttpContext.Current.

我在使用MVC5的MVC应用程序中工作。我想知道如何声明一个全局变量。我在global.asax中创建了如下变量:

HttpContext.Current.Application["Login"] = "Jonh Doe";
我还在控制器中创建了私有静态成员。但我已经意识到,如果两个用户正在浏览应用程序,那么变量上的一个存储值将在其余用户之间共享


我可以用什么方法存储应用程序的所有实例之间未共享的变量?

是的,您可以使用会话,该会话仅对当前用户是全局的:

HttpContext.Current.Session["Login"] = "John Doe";
但是,在global.asax中不会这样做,因为会话是一个在非常特定的时间()初始化的模块。因此,您很可能希望在适当的时间在控制器中执行此操作:

public ActionResult Index()
{
   this.HttpContext.Session["Login"] = "X";
}

作为一个过于简单的例子。

您可能正在寻找,所以唯一的方法是将其存储在会话中?最后,这就是我所做的。但不像你解释的那样,你的例子更好。我在控制器上创建了这个结构公共字符串facilitySelected{get{return Session[“Facility”].ToString();}set{Session[“Facility”]=value;}}谢谢!是的,这就是我在意识到其他方法在应用程序的所有实例之间共享后所做的。