0

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

4

5 回答 5

1

正如詹姆斯回答的那样,您可以使用 AppSettings 和 web.config 。您还可以将其存储在具有键值对结构的数据库中。

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

  • 在配置项目上创建服务接口
  • 在 ASP.Net MVC 项目中使用 Enterprise Library Caching
  • 检查值是否被缓存
  • 如果没有从配置中获取并将其存储在缓存中
于 2009-10-06T15:05:18.253 回答
1

我可能会制作一个包含一系列 Resx 文件的单独项目,这些文件非常易于使用,并且可以免费为您提供本地化。这就是我要开始的地方,如果您需要通过一些管理工具即时编辑它们,那么您可以使用Rick Strahl 的数据驱动提供程序之类的东西。这可能是比尝试提出您自己的数据库驱动设计更好的方法。

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

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

于 2009-10-06T16:31:00.607 回答
0

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

于 2009-10-06T14:54:07.600 回答
0

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

于 2009-10-06T15:19:05.877 回答
0

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

于 2009-10-06T15:21:53.920 回答