gpt4 book ai didi

asp.net - 使用 web.config 存储设置的替代方法(对于复杂的解决方案)

转载 作者:行者123 更新时间:2023-12-04 22:38:58 24 4
gpt4 key购买 nike

在我们的 Web 应用程序中,我们将我们的数据访问层分离到他们自己的项目中。

这会产生一些与设置相关的问题。

因为 DAL 最终可能需要从多个应用程序使用,所以 web.config 似乎不是保存连接字符串和其他一些 DAL 相关设置的好地方。

为了解决这个问题,在我们最近的一些项目中,我们引入了第三个项目,仅用于设置。我们将设置放在一个 .Setting 文件系统中......通过一个简单的包装器,可以轻松实现为各种环境(开发、QA、暂存、生产等)设置不同设置的能力。

唯一的问题是设置项目(包括 .Settings 类)编译成一个程序集,所以你不能在不进行构建/部署的情况下更改它,我们的一些客户希望能够在没有 Visual 的情况下配置他们的项目工作室。

那么,有没有最好的做法呢?我有这种感觉,我正在重新发明轮子。

我们想到了一些解决方案,例如将设置存储在服务器上的固定目录中,例如我们自己的 XML 格式。但同样,我宁愿避免为敏感值等重新创建加密。如果可能的话,我宁愿让解决方案保持独立。

编辑:最初的问题没有包含我们不能(我认为)使用 web.config 的真正深入人心的原因......这使一些(非常好的)答案脱离了上下文,我的不好。

最佳答案

System.Configuration.ConfigurationManager.ConnectionStrings 和 System.Configuration.ConfigurationManager.AppSettings
包含来自正在执行的应用程序的设置,因此您可以在 DAL 中获取存储在 web.config 文件中的设置。

对于您的系统,您可以创建一个自定义配置部分,该部分将位于您的 web.config 文件或 DAL 的消费者 *.config 文件中。在这些配置文件中,您可以指定它们从您的设计和位置的单独配置文件加载。
Referencing external config files from Web.Config
How to: Create Custom Configuration Sections Using ConfigurationSection

或者,您可以使用 ConfigurationManager.OpenExeConfiguration 从任何文件手动加载 DAL 配置数据。

关于asp.net - 使用 web.config 存储设置的替代方法(对于复杂的解决方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com