gpt4 book ai didi

asp.net-mvc - 什么是 Machine.config、Web.config、App.config

转载 作者:行者123 更新时间:2023-12-02 07:34:56 27 4
gpt4 key购买 nike

谁能告诉我Machine.config、Web.config、App.config有什么区别?

最佳答案

它们都是 .NET XML 配置文件,使用它们的 API 称为 System.Configuration (不幸的是,它并不是最容易使用的)。

machine.config 为在 Windows 安装(即计算机)上运行的所有 .NET 应用程序(相同 CLR 版本)设置配置。此文件存储在 %windir%\Microsoft.NET\Framework\%version%\CONFIG 下. (请注意,.NET 3.0 和 3.5 没有自己的 machine.config,因为它们使用 2.0 CLR)。

applicationHost.config 设置 IIS 的配置,然后由 IIS 的子对象(例如网站和应用程序池)继承。该文件位于 IIS 的文件夹中,对于“真正的”IIS,这是 %windir%\system32\inetsrv\config ,对于 IIS Express,这是 %programfiles%\IIS Express\AppServer . You can read more on MSDN .

web.config 最初是 ASP.NET 特定的,用于在每个应用程序和每个目录的基础上设置配置。

  • 某些配置项仅在位于应用程序范围根目录(IIS 中的“神奇”类型文件夹,bin 目录所在的位置)的 web.config 文件中时才会生效。
  • 在 IIS7.0 及更高版本中,web.config 文件也用于存储本地 IIS 配置,作为 applicationHost.config 的替代方案。 ,例如,如果您想将配置直接存储在文件系统中(这样您就可以物理地移动目录树并保留配置而无需更改 applicationHost.config - 直接或使用 IIS 管理器)。
    • 您可以通过使用树节点中功能 View 中的“配置编辑器”选项来指示 IIS 管理器使用 web.config 而不是 applicationHost.config。
  • 配置被子目录继承并且可以被覆盖(所以如果 /foo 有一个 web.config 文件,那么 /foo/bar 可以有自己的 web.config 覆盖或扩展在 /foo 的配置中定义的设置.
    • 令人困惑的是,还有 <location>允许您从父配置文件中设置和覆盖目录的子配置的元素。

app.config 不是一个实际的文件名(开发期间除外),它指的是桌面和控制台应用程序的 EXE 特定配置。配置文件与 *.exe 位于同一文件夹中。本身并与程序同名(例如“MyProgram.exe”将有一个名为“MyProgram.config”的配置文件)。 Visual Studio 在构建过程中部署配置文件时将“app.config”重命名为“MyProgram.exe.config”。App.config 不适用于 ASP.NET 项目。

关于asp.net-mvc - 什么是 Machine.config、Web.config、App.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17608939/

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