ASP.NET MVC可配置静态文本

时间:2009-10-06 14:51:48

标签: asp.net-mvc configuration-management

我目前正在开发一个需要静态文本可配置的项目(包括标签,消息和验证错误)。我想知道最好的方法是什么。该应用程序正在使用ASP.NET MVC和C#3.5编写。我需要将所有这些静态可配置文本从不同的项目提供给MVC项目。我想过使用全局资源,或使用将在应用程序启动时加载的XML文件。顺便说一句,这不是关于本地化,也不是最终用户可以配置静态文本。

5 个答案:

答案 0 :(得分:1)

你可以使用AppSettings和web.config作为James回答。您还可以将其存储在具有键值对结构的数据库中。

但是你还需要从配置项目到ASP.Net MVC项目。我会这样做:

  • 在配置项目上创建服务接口
  • 在ASP.Net MVC项目中使用企业库缓存
  • 检查值是否已缓存
  • 如果没有从配置中获取它并将其存储在缓存中

答案 1 :(得分:1)

我可能会创建一个包含一系列Resx文件的单独项目,这些文件很容易使用,并且免费为您提供本地化。这是我开始的地方,如果你需要通过一些管理工具动态编辑它们,那么你可以使用像Rick Strahl's data driven provider这样的东西。这可能是一种更好的方法,然后尝试提出自己的数据库驱动设计。

我同意您可能需要澄清一下文本的可编辑方式和时间。

绝对远离web.config和appsettings,除非我们只讨论1或2行文本。一般来说,这不是一个好主意,因为其他人已经说过有关应用程序重启和一般配置膨胀的许多原因。

答案 2 :(得分:0)

我会将它存储在Web.Config文件的AppSettings部分中。

答案 3 :(得分:0)

本地化实际上是一种处理这个问题的好方法 - 它解决了同样的问题,你只需要提供一个语言文件。缺点是本地化位不一定容易被最终用户编辑。这让我想到这里要回答的真正问题是“用户可以编辑这些信息的方式是什么?”如果答案是“经常轻松”,那么您可能希望在数据库中创建某种UI Snippets表并相应地处理它。另一个不错的选择是使用自定义配置部分并使用配置API对其进行读/写。如果需要,还要保留手动编辑的XML文件。

答案 4 :(得分:0)

我会在应用程序启动时使用单个加载的XML文件