有人可以提供一个快速的 App.config/Web.config 教程吗?

发布于 2024-07-29 18:43:14 字数 440 浏览 13 评论 0原文

我以前多次使用过这两个配置文件,但我从未花时间完全理解它们的真正工作原理。 和大多数人一样,我了解如何调用 WebConfigurationManager.AppSettings["key"] 来获取配置值的基础知识。

以下是我提出的一些问题:

  1. 当您引用类库中的配置值并且该库是更大解决方案的一部分时会发生什么? 是否需要将 app.config 复制到输出目录才能找到变量? (我假设是)
  2. 您可以直接使用另一个类库中的 app.config 中的配置值吗?
  3. 假设问题 3 为“是”,如果来自不同库的多个 app.config 文件包含具有相同键的配置值,会发生什么情况?
  4. 当您在类库中引用 web.config 时会发生什么?
  5. 当您在网站或 Web 应用程序项目中引用 app.config 时会发生什么?

I've used these two configuration files many times before, but I've never taken the time to fully understand how they really work. As most people do, I understand the basics in how to call WebConfigurationManager.AppSettings["key"] to get config values.

Here are some questions I came up with:

  1. What happens when you reference a configuration value within a class library, and the library is part of a bigger solution? Does the app.config need to be copied to the output directory in order for the variables to be found? (I assume yes)
  2. Can you directly use a configuration value from an app.config in another class library?
  3. Assuming question 3 is "yes", what happens if there are multiple app.config files from different libraries containing configuration values with the same key?
  4. What happens when you reference the web.config, but in a class library?
  5. What happens when you reference the app.config, but in a website or web application project?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

べ繥欢鉨o。 2024-08-05 18:43:14

所有问题的基本答案都是相同的:除非您设置了一些不寻常的东西,否则项目中的所有程序集都将从同一配置文件中读取。 在网络应用程序中,它们都将从“web.config”中读取。 在任何其他项目类型中,它们将从起始程序集的配置文件中读取。

The underlying answer to all of your questions is the same: Unless you set up something unusual, all assemblies in your project will read from the same configuration file. In a web app, they will all read from "web.config". In any other project type, they will read from the starting assembly's config file.

浅浅 2024-08-05 18:43:14

使用的 app/web.config 是启动该进程的配置。 如果我举个例子会更容易:

  • 假设解决方案中的所有项目都有一个应用程序或 web.config。
  • 项目 A 中的测试调用项目 B 中的代码,项目 B 调用项目 C 中的 Web 服务,而项目 C 又调用项目 D 中的代码强>。

在这种情况下,项目 AB 中的代码将使用项目 A 中的 app.config。 项目 CD 中的代码将使用项目 C 中的 web.config。

The app/ web.config that is used is the one that starts the process. Easier if I give an example:

  • Assume all projects in a solution have an app or web.config.
  • A test in project A calls code in project B that calls a web service in project C which calls code in project D.

In this case code in project A and B will use the app.config in project A. Code in project C and D will use the web.config in project C.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文