asp.net - 这个设计有bug吗?

标签 asp.net .net global-asax httpcontext

我正在完成一项由以前的开发人员启动的功能。我注意到他正在 Global.asax Application_Start 方法中从数据库加载设置,并将设置放入 HttpContext.Current.Application["SettingName"] 中。

在开发过程中,这在我的机器上运行良好。如果我没记错的话,虽然这看起来像在生产中,但当应用程序为第一个用户启动时,它将加载一次数据,但设置将不可用于任何后续用户的应用程序。

有人可以证实或否认我的怀疑吗?

最佳答案

HttpContext.Current.Application["SettingName"] 是静态属性。它也将可供下一个后续用户使用。但你不能那么容易地改变它,特别是如果你使用网络花园。

您可以在此处阅读更多详细信息:Using static variables instead of Application state in ASP.NET

我不知道设计是怎样的,但是您可以使用一个简单的静态字典来实现相同的...直接从数据库或 web.config 读取您的参数。

关于asp.net - 这个设计有bug吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869325/

相关文章:

c# - 如何通过拖动扩展窗口框架使 WPF 窗口可移动?

c# - Expression-Bodied 属性和简单的 Getter 属性之间的区别

c# - 如何为 404 页面设置 UTF8

c# - 验证码控件不适用于 url 路由 (ASP.NET 4.0 WebForms)

asp.net - 同一台服务器上的 Response.Redirect 和 Server.Transfer 哪个更安全?

asp.net - .NET 列表框中的 Optgroup

asp.net - 与标准 MVC3 View 语法相比,XSL 有哪些优势?

asp.net - autofac、ASP.NET 集成和 HttpRequestScoped

asp.net-mvc - Asp.net MVC 让用户在角色之间切换

c# - global_asax 在命名空间 ASP 中不存在