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