答案 0 :(得分:10)
您可以使用应用程序状态来存储将在应用程序的所有用户之间共享的一些对象:
protected void Application_Start()
{
Application["foo"] = "bar";
...
}
在您的控制器内,您可以访问此属性:
public ActionResult Index()
{
var foo = HttpContext.Application["foo"] as string;
...
}
答案 1 :(得分:3)
如果它是任何其他类型的对象,比如字符串,你可以,因为你需要在Global.asax
中将属性声明为静态,以使其可用于应用程序的其余部分:
public class Application : HttpApplication
{
// This is the class declared in Global.asax
// Your route definitions and initializations are also in here
public static string MyProperty { get; set; }
}
这将适用于应用程序的其余部分。你可以这样做:
public ActionResult MyAction()
{
var bla = Application.MyProperty;
}
那就是说,我不认为你想以这种方式为应用程序的其余部分提供Thread
。