MVC 6新的ASP.net 5.0网站项目模板包含一个Startup.cs类,其中包含以下方法。如果我向IApplicationBuilder app
添加一个属性,我如何在我的控制器中访问它?
例如,
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)
{
app.Properties.Add("foo", "bar");
}
答案 0 :(得分:3)
我可以告诉您,一旦应用程序运行,您就无法直接访问构建器的Properties
行李。 Properties
包用于构建管道而不是用于维护应用程序状态。
如果您需要某些特定于应用程序的状态,我建议您注册自己的服务,该服务可以将数据存储在适合您应用程序的结构中。如果你愿意的话,你当然可以写一个抓住建造者Properties
袋的服务并保留在以后使用,但我会劝阻这个,因为它不是你的"你的& #34;字典,因此不太可能满足任何关于生命的保证等。
答案 1 :(得分:0)
我在阅读你的问题之后试图寻找这个选项,这部分是可能的,但主要是你要做的。
而不是这个我建议你应该为asp.net mvc 6编写你的Owin中间件并将你的属性放在HttpContext中,以后你可以在控制器级别检索而没有任何问题。