asp.net - 有哪些选项可用于在 ASP.NET MVC2 中存储应用程序设置?

标签 asp.net asp.net-mvc-2 .net-4.0

我需要将应用程序设置存储在某处,但找不到令人满意的解决方案。只读设置很容易存储在 web.config 中,但是应该可以通过网页访问的应用程序管理设置又如何呢?写入 web.config 似乎不是一个好主意。我考虑过将设置存储在自定义 xml 文件中,但是如果设置中涉及敏感信息,这似乎是个问题,而且如果有多个用户同时修改设置,则必须进行某种文件锁定涉及。现在我倾向于将应用程序设置存储在 MS-SQL 数据库中,这似乎是一种安全且可扩展的解决方案,但是用一个表来存储一行(设置)感觉是错误的。你怎么看?你会如何设计?

是否有现成的 .NET 解决方案用于存储动态 Web 应用程序设置?

最佳答案

你的问题太主观了,我什至不知道为什么我要回答它而不是投票结束。但无论如何,数据库是一个好地方。如果您对关系数据感到厌倦,那么这里有很棒的 NoSQL那里有数据库,例如 MongoDBRavenDB这将使这变得非常容易。如果您想要一个非常快的数据库 Redis可能值得一看。

在 Web 应用程序的文件中存储内容比一开始看起来要困难得多。如果它是只读的,那么 web.config 确实是一个好地方。但是一旦开始编写,您就必须考虑到 Web 应用程序是一个多线程环境,您必须同步对此文件的访问。如果您想正确设计它,最初看似简单的解决方案可能很快就会变成一场噩梦。这就是为什么我认为数据库是一个很好的解决方案,因为它为您提供并发性、安全性、原子性、数据完整性......

关于asp.net - 有哪些选项可用于在 ASP.NET MVC2 中存储应用程序设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946764/

相关文章:

asp.net - 从类库读取 web.config

c# - 如何使用 Entity Framework `ValueComparer<T>` ?

c# - 如何创建已在后端 HTML 表和 ASP.NET 中的 div 中创建的 onserverclick 事件

sql-server - 软/逻辑删除 vs 无参照完整性 vs ...?

c# - ViewData 是否有最大长度?

c# - 动态按钮命令事件不触发

asp.net-mvc-2 - 区域内的自定义路由

asp.net - 如何将 Windows 用户(而不是服务帐户)登录到数据库?

c# - 使用 linq 查询时的行号

c# - 将双 for 循环转换为 linq 查询