在托管ASP.Net Web应用程序时,必须在IIS中包含web.config文件

时间:2015-08-20 08:05:16

标签: asp.net iis web-hosting

我只想知道,在IIS中托管ASP.Net Web应用程序时,确实需要包含Web配置文件。

如果是,那么为什么以及在哪里应该有理由。

如果否,为什么以及原因是什么。

感谢您的帮助!

亲切的问候,

2 个答案:

答案 0 :(得分:3)

Web.Config包含与每个Web应用程序相关的所有服务器配置信息(设置)。

阅读更多here或维基页面here

Web应用程序的根文件夹中至少应有1个web.config。

但是,如果您希望应用程序的子文件夹的设置不同,则可以在子文件夹中放置更多web.config文件,否则子文件夹将默认采用 root web.config

答案 1 :(得分:1)

您网站上的 web.config 会分层次地覆盖默认的web.config ,这些内容已经完全由asp.net使用并在配置中找到Windows文件夹中的asp.net目录内的路径

在高级别的默认web.config中,asp.net加载的许多模块需要读取大量参数。

默认加载的许多模块都需要web.config才能正常工作。

另外asp.net会检查web.config是否存在以及你是否具有写入权限以便他可以处理它。

要直接回答你的问题,在一个复杂的系统中,没有直接的指示向你展示并告诉"这些模块需要读取该参数" ...因此需要运行web.config正确...

值得一读有关optimizing web.config的文章,其中remove<clear />仅用于保留您网站的必要模块。

以下是该文章中的snipet,告诉您至少需要使用它并删除不使用的模块

<httpModules>
         <!--<span class="code-comment"> Remove unnecessary Http Modules for faster pipeline --></span>
         <remove name="Session" />
         <remove name="WindowsAuthentication" />
         <remove name="PassportAuthentication" />
         <remove name="AnonymousIdentification" />
         <remove name="UrlAuthorization" />
         <remove name="FileAuthorization" />
</httpModules>

在您设置站点时,IIS也使用 web.config - IIS在web.config上存储了许多有关该站点的信息。