【问题标题】:Where is the best and easiest place to store global website settings存储全球网站设置的最佳和最简单的地方在哪里
【发布时间】:2012-05-30 09:05:52
【问题描述】:

我只是在内部 IIS7.5 专用服务器上为客户端(由 SQL 数据库支持的 ASP.NET VB)组装一个内部数据系统。

我想将某些全局设置,例如新闻文章的年龄限制、管理员联系人等存储在一个不在数据库中的文件中(即避免不必要的数据库查询)

最好的存放地点是哪里?全球.asax?应用程序配置?还是自定义 XML 文件?我将如何在运行时导入这些? (可能是会话变量)

预计到达时间: 此外 - 设置必须可在站点内编辑,即我尚未构建的管理部分

【问题讨论】:

  • @Irish 也许你的意思是 web.config,但我认为最后一个要求排除了这一点。

标签: asp.net


【解决方案1】:

如果您需要这些设置是可编辑的,那么存储它们的最简单的地方就是在数据库表中。您已经在构建一个层来进出 CRUD 操作,因此添加这个小额外内容不会妨碍您。这也将帮助您保持 web.config 干净,并且您的支持库不需要内置额外的 app.config。

资源文件和嵌入式 app.config 文件不可编辑,因此这些首选方法不符合您的要求。您不希望人们直接访问 web.config(即使通过界面),因为对 web.config 的更改会导致应用程序池回收。自定义 XML 文件可以工作,但您必须构建一个单独的解析引擎才能进出它。虽然这很简单,但由于您已经为数据库的其余部分构建了访问接口,因此没有必要这样做。

如果您真的讨厌自己,您可以将两者组合成一个自定义 xml 文件,作为 XElement 存储在数据库中。

【讨论】:

  • 哈哈! “如果你真的讨厌自己”!
【解决方案2】:

感谢您的建议。

鉴于细节可能每年只需要更改几次,我决定最简单的方法是在 global.asax 中设置会话变量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 2016-08-27
    • 2020-11-20
    • 1970-01-01
    • 2015-02-04
    • 2021-09-01
    • 2010-09-14
    相关资源
    最近更新 更多