0

我们在web.config文件和数据库中都存储了密钥和配置值(这些值不会非常频繁地更改)。然而,这种方法很难维护,很多问题都会发生。将配置密钥存储在具有配置模式的资源文件中

我想解决这些问题。他们中的大多数是固定的,其中一些取决于配置模式。

我们可以将这些密钥存储在resx文件中并像全球化一样使用它们吗?我的意思是,就像在MVC中一样,我们可以根据自定义条件(如浏览器和其他任何东西)使用单独的视图。

使用面向对象的知识,它可能是(如我们可以创建一个资源工厂,并根据活动配置模式服务资源)。但是如果没有努力和牺牲设计时支持,是否还有其他方法?

回答

1

Resx文件适用于像字符串和图像等资源 如果只有配置存储在数据库中并且配置服务返回每个环境/配置模式下的配置,它将会更干净。到正确的配置服务。

+0

是的你是对的,他们是为了存储这些类型的东西。但是,当我们将这些配置字符串存储在数据库中并通过服务/工厂通过键访问它们时,我们牺牲了对c#本地化服务(如GlobalResources.BlaBla.MyKey)的强类型访问。但这些似乎也是中型情景。 –

+0

对于访问,服务应该最好使用像Dapper等ORM从数据库中读取数据,并将其序列化为JSON/XML,然后将其反序列化为客户端/客户端上的第一类对象。 –

+0

你没有得到那里的线索;我们不想牺牲强类型访问这些资源的能力。无论如何,我发现一些库在基于数据库的运行时动态生成resx文件。我会在他们中间作出决定...... –