存储网站配置

时间:2012-01-30 08:23:44

标签: asp.net-mvc asp.net-mvc-3 web-config

我正在寻找一个存储我的网站配置的地方,该网站将通过网站的管理面板进行更改(例如选择主题,更改主页标题等)。据我所知web.config是只读的,我肯定不想为此使用DB。那么解决这个问题的标准方法是什么?

3 个答案:

答案 0 :(得分:5)

  

并且我确实不想将DB用于此

嗯,你没有多少选择。您可以始终使用文件,但在多线程环境(如ASP.NET应用程序)中,您需要同步对它们的访问,以确保2个线程不会同时尝试写入文件或者在一个线程正在写入时另一个人没有从中读取文件。您可以使用ReaderWriterLockSlim。就这个文件的格式而言,你可以使用任何你认为合适的东西:CSV,XML,JSON,甚至是你想要的二进制序列化。

答案 1 :(得分:2)

如果您出于某种原因不想使用DB

我认为XML是保存配置的最佳选择。就像web.config一样 只需确保在访问此文件时使用lock,这样您就不会遇到不同步的灾难......

答案 2 :(得分:1)

如果仅用于网站管理,设置应用程序范围的设置(例如标题),那么可以将其存储在文件中,XMLJSON是完全可以的,只要您以某种方式确保两个人不能同时访问文件(防止多个站点管理员一次登录就会删除此问题)。

如果您希望允许用户选择他们自己的主题,时区等,那么您最好将其存储在数据库中。