gpt4 book ai didi

c# - 在哪里写连接字符串?在 app.config 或 web.config 中?

转载 作者:太空狗 更新时间:2023-10-29 22:13:48 27 4
gpt4 key购买 nike

我正在开发 MVC 应用程序。我的应用程序中有两个项目。一个是包含 Controller 和 Views 的 MVC 应用程序,第二个是 DataLayer 项目。

我对在哪里写入连接字符串感到困惑,因为在发布应用程序时它需要 web.config 文件并且我从 DataLayer 项目获取数据所以我应该在 app.config/Web.config 中添加连接字符串数据层项目?

另外,想知道 app.config 和 web.config 的用途和区别是什么?

最佳答案

每个项目在创建时都带有一个配置文件。通用类库有一个通用类库,称为 app.config。 Web 项目更为具体,因此其文件名为 web.config 并带有特定于 Web 的参数。它们的用途相同。

您面临的问题是默认情况下仅部署可执行项目的配置文件 (web.config)。您有几个选择:

  1. 将您的连接字符串添加到 web.config 并将其传递到您的数据层。这很简单(最常见),但将配置信息与数据层项目分开。
  2. 让您的数据层使用 System.Configuration.ConfigurationManager 读取 web.config。这减轻了您将数据传递到数据层的麻烦,但会产生强烈的依赖性​​(如果没有格式正确的 web.config 文件,您的数据层将无法工作)。
  3. 将 app.config 部署为 XML 内容并编写自定义代码,以便您的数据层可以读取它。这需要更多工作,但它会从 Web 配置中获取您的数据配置。
  4. 对 #2 稍作改动,您可以创建一个 custom config section在 web.config 中称为“dataLayer”。这可以通过 System.Configuration.ConfigurationManager 读取。我更喜欢这种方法,因为它看起来是一个很好的平衡。您在“默认”配置文件中有一个自定义的强类型配置部分。

related question也有一些很好的信息。

关于c# - 在哪里写连接字符串?在 app.config 或 web.config 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23363718/

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