我只是在内部 IIS7.5 专用服务器上为客户端(由 SQL 数据库支持的 ASP.NET VB)组装了一个内部数据系统。
我想将某些全局设置(例如新闻文章的年龄限制、管理员联系人等)存储在不在数据库中的文件中(即避免不必要的数据库查询)
存放这个的最佳地点在哪里?全球.asax?应用程序配置?还是自定义 XML 文件?我将如何在运行时导入这些?(可能是会话变量)
预计到达时间:另外 - 设置必须可在站点内编辑,即我尚未构建的管理部分
我只是在内部 IIS7.5 专用服务器上为客户端(由 SQL 数据库支持的 ASP.NET VB)组装了一个内部数据系统。
我想将某些全局设置(例如新闻文章的年龄限制、管理员联系人等)存储在不在数据库中的文件中(即避免不必要的数据库查询)
存放这个的最佳地点在哪里?全球.asax?应用程序配置?还是自定义 XML 文件?我将如何在运行时导入这些?(可能是会话变量)
预计到达时间:另外 - 设置必须可在站点内编辑,即我尚未构建的管理部分
如果您需要这些设置是可编辑的,那么存储它们的最简单的地方就是在数据库表中。您已经在构建一个层来进出 CRUD 操作,因此添加这个小额外内容不会妨碍您。这也将帮助您保持 web.config 干净,并且您的支持库不需要内置额外的 app.config。
资源文件和嵌入式 app.config 文件不可编辑,因此这些首选方法不符合您的要求。您不希望人们直接(甚至通过界面)访问 web.config,因为对 web.config 的更改会导致应用程序池回收。自定义 XML 文件可以工作,但您必须构建一个单独的解析引擎才能进出它。虽然这很简单,但由于您已经为数据库的其余部分构建了访问接口,因此没有必要这样做。
如果您真的讨厌自己,您可以将两者组合成一个自定义 xml 文件,作为 XElement 存储在数据库中。
感谢您的建议。
我决定最简单的方法是在 global.asax 中设置会话变量,因为细节可能一年只需要更改几次