代码之家  ›  专栏  ›  技术社区  ›  Pretzel

ASP.NetMVC:在哪里存储应用程序和管理面板设置?Web.config?

  •  4
  • Pretzel  · 技术社区  · 16 年前

    为自己建立了一个像样的网站ASP.NETMVC,我要为“管理员”角色的用户构建一个“管理面板”来控制网站。具体来说,我建立的网站是一个企业内部网站,它由一堆小型web应用组成,每个应用都需要不时地进行配置和/或调整。

    是Web.Config文件存储这些应用程序设置的适当文件?

    应该放在单独的XML文件中吗?

    DB表(或一组表)?

    目前,我没有数据库可供我使用,但也许在晚些时候我会。目前,我倾向于创建一个XML文件并在其中存储值。这样做合理吗?或者我是不是遗漏了一些显而易见的东西?

    编辑: 好的,这是我的抽象层(接口):

    public interface IAppSettings
    {
     IQueryable<string> GetValues(string component, string setting);
     void SetValues(string component, string setting, List<string> values, bool append);
    }
    

    我想我可以读/写Web.Config文件,另一个XML,或者这样一个DB。

    你怎么认为?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    我推荐你一个数据库。在多用户/多线程应用程序中写入文件可能会带来挑战,如果不同步对这些文件的访问,则可能会出现问题,更不用说事务性访问(如果需要)。有一些很轻的 NoSQL databases 这可能是非常有用和容易设置。

    无论您选择什么,请确保在数据访问层上创建抽象,以便以后可以方便地切换到另一个方法,如SQL数据库(在尝试NoSQL数据库之后,您可能不会:-)。

        2
  •  1
  •   Wyatt Barnett    16 年前

    这里要问的问题是,一般来说,这是一组将随代码库更改的设置还是由用户更改的设置?如果是前者,那么XML就是方法——它可以很容易地通过代码进行版本控制。如果用户正在更改它,那么数据库是一个更好的选择。