gpt4 book ai didi

c# - 从 Controller 访问它时,我的 MvcApplication 的属性为 null

转载 作者:行者123 更新时间:2023-11-30 14:38:12 24 4
gpt4 key购买 nike

我是 ASP.NET MVC 的新手,所以我在这方面遇到了一些麻烦。当应用程序启动时,我将一个属性设置为某个值。然而,当我尝试在 Controller 中访问此属性时(使用 this ),该属性始终为 null。

是不是我理解错了?

这里是代码的简化版本:

public class MvcApplication : System.Web.HttpApplication
{
internal ExtensionManager Extensions { get; private set; }

protected void Application_Start()
{
this.Extensions = new ExtensionManager();
}
}

public ActionResult ListExtension()
{
var app = HttpContext.ApplicationInstance as MvcApplication;
return View(app.Extensions.InstalledExtensions);
}

最佳答案

在整个应用程序生命周期中创建了多个 HttpApplication 实例,但 Application_Start 仅在应用程序首次初始化时调用一次。

有关更多信息,请参阅:http://msdn.microsoft.com/en-us/library/ms178473%28VS.80%29.aspx

我不知道你想在这里存储什么(扩展?),但如果它对所有用户都是全局的,那么你可以使用静态属性,否则将它存储在其他地方。

关于c# - 从 Controller 访问它时,我的 MvcApplication 的属性为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com