处理asp.net Web应用程序中的配置设置

Sch*_*ime 3 c# asp.net configuration

我有一个包含200多个配置设置的Web应用程序.它们控制从UI到业务逻辑的所有内容.

应该在应用程序启动时还是在需要时检索它们?

是否应在需要时注入ISettings接口.

你的意见是什么?

更新: 可以在应用程序中打开和关闭它们,以便将它们存储在数据库中.有些是按用户设置,有些是应用程序范围.现在想想?

Kel*_*sey 6

我会根据需要检索它.ASP.NET自动为您缓存此数据.它不是每次都读取文件.尝试在运行时更改web.config文件,您将看到它会杀死所有会话并有效地重置您的应用程序.

不要过于复杂.web.config中这些设置的目的是用于您需要访问的整个应用程序的设置.MS为您提供了访问它们的库,并完成了尽可能快地完成该过程的工作.也许如果您有数千个设置或某些东西,您可能能够找到更好的缓存算法,但这种情况很少见.

将时间花在代码的其他部分上,因为在更改访问web.config应用程序设置的方式方面没什么好处.

更新: 如果设置是应用程序范围,则使用web.config.如果它们是用户特定的并存储在数据库中,则在登录时将它们存储在用户的会话中.有人说使用cookie用于特定于用户的设置,但如果您知道用户是谁,那么使用会话要好得多,因为它防止大型cookie随着该用户的每个请求被发回服务器.