ASP.NET MVC как получить доступ к свойству в глобальной сети.файл asax с контроллера?
В глобальном масштабе.как файл asax, я управляю некоторыми потоками,и - от контроллера-мне нужно вызвать событие потока одного. Возможно ли получить доступ к этому потоку ?
2 ответа:
Можно использовать состояние приложения для хранения некоторого объекта, который будет совместно использоваться всеми пользователями приложения:
protected void Application_Start() { Application["foo"] = "bar"; ... }
И внутри вашего контроллера вы можете получить доступ к этому свойству:
public ActionResult Index() { var foo = HttpContext.Application["foo"] as string; ... }
Вы могли бы, если бы это был любой другой тип объекта, например строка, потому что вам нужно объявить свойство как статическое в
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
доступным для остальной части приложения таким образом.