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