为什么我们在 ASP .NET 5 wwwroot 中需要 web.config?
Why do we need web.config in ASP .NET 5 wwwroot?
在 ASP .NET 5 中,Configuration 发生了翻天覆地的变化。我们不再有 web.config
文件。相反,我们可以使用 JSON 和其他选项,具体取决于我们在 Startup
class 中的设置方式。与 web.config
不同,此类配置通常不会进入 wwwroot
,并且不存在客户端可以访问它的危险。
然而,在 ASP .NET 5 项目模板中,wwwroot
中有一个 web.config
文件,其内容如下:
<?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>
在我看来,这可能是托管服务器在运行时寻找的东西,与应用程序配置无关。
任何人都可以阐明为什么需要这个以及它是如何工作的吗?
Web.config 严格用于 IIS 配置。除非托管在 IIS 中,否则不需要它。当您从命令行 运行 应用程序时不使用它。
过去 Web.config 用于 IIS 配置和应用程序配置和设置。但是在asp.net5中它根本不被应用程序使用,它只用于IIS配置。
应用程序与 IIS 的分离是使跨平台成为可能的一部分。
在 ASP .NET 5 中,Configuration 发生了翻天覆地的变化。我们不再有 web.config
文件。相反,我们可以使用 JSON 和其他选项,具体取决于我们在 Startup
class 中的设置方式。与 web.config
不同,此类配置通常不会进入 wwwroot
,并且不存在客户端可以访问它的危险。
然而,在 ASP .NET 5 项目模板中,wwwroot
中有一个 web.config
文件,其内容如下:
<?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>
在我看来,这可能是托管服务器在运行时寻找的东西,与应用程序配置无关。
任何人都可以阐明为什么需要这个以及它是如何工作的吗?
Web.config 严格用于 IIS 配置。除非托管在 IIS 中,否则不需要它。当您从命令行 运行 应用程序时不使用它。
过去 Web.config 用于 IIS 配置和应用程序配置和设置。但是在asp.net5中它根本不被应用程序使用,它只用于IIS配置。
应用程序与 IIS 的分离是使跨平台成为可能的一部分。