为什么我们需要在ASP .NET 5 wwwroot中使用web.config?

Gig*_*igi 7 web-config asp.net-core

在ASP .NET 5中,配置正在发生巨大变化.我们不再有web.config文件了.相反,我们可以使用JSON和其他选项,具体取决于我们在Startup课堂上设置的方式.不同的是web.config,此类配置通常不会进入wwwroot,并且客户端无法访问它.

然而,在ASP .NET 5项目模板中,有一个包含以下内容的web.config文件wwwroot:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

在我看来,这可能是托管服务器在运行时寻找的东西,独立于应用程序配置.

任何人都可以阐明为什么需要它,以及它是如何工作的?

Joe*_*tte 15

Web.config严格用于IIS配置.除非在IIS中托管,否则不需要它.从命令行运行应用程序时不使用它.

过去,Web配置用于IIS配置和应用程序配置和设置.但是在asp.net 5中,应用程序根本不使用它,它仅用于IIS配置.

将应用程序与IIS分离是使跨平台成为可能的部分原因.

  • 请注意,从 ASP.NET Core RTM 开始,web.config 文件(仍然仅适用于 IIS)不再位于 wwwroot 文件夹中,而是位于 wwwroot 之外的应用程序根目录中。 (2认同)