我正在将应用程序从一个框架转换为另一个框架,并且对 Application 对象有疑问。
我有一些数据(< 1MB)在应用程序启动时被读取,并且几乎从未在磁盘上更新。(例如更改之间的年数) 数据被非常频繁地访问——每次页面加载至少一次,但通常多次,并且总是只读的。
我认为在启动时将这些数据推送到 Application 对象中(在 Application_Start 中的 Global.asax 中)可能是正确的做法。我的问题是,我需要锁定对象吗?( Application.Lock
/ Application.Unlock
) 由于该Application_Start
方法只触发一次,并且所有其他访问都在读取,所以我可以在没有锁的情况下逃脱吗?
[为什么不使用 web.config?数据相当不适合 web.config 文件,我希望数据保持原样,因为它也与其他非 ASP.NET 应用程序共享。]