【问题标题】:Is necessary to include web.config file in IIS while hosting the ASP.Net Web application托管 ASP.Net Web 应用程序时必须在 IIS 中包含 web.config 文件
【发布时间】:2015-08-20 08:05:16
【问题描述】:

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

如果是,为什么以及应该在哪里以及原因。

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

感谢您的帮助!

亲切的问候,

【问题讨论】:

    标签: asp.net iis web-hosting


    【解决方案1】:

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

    阅读更多here 或维基页面here

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

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

    【讨论】:

    • 对,但我需要知道网络配置文件的重要性。它应该包含在我们映射的 IIS 中,但它应该在哪里,如果它不在正确的位置会影响
    【解决方案2】:

    您网站上的 web.config 分层覆盖 default web.config,asp.net 已准备好使用并在 config 上找到asp.net 目录内的路径 windows 文件夹内。

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

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

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

    为了直接回答你的问题,在一个复杂的系统中没有直接的点来告诉你“这个模块需要读取那个参数”......所以需要 web.config 才能正常运行......

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

    这是那篇文章的一个片段,向您展示您至少需要使用它并删除您不使用的模块

    <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 上存储有关站点的许多信息。

    【讨论】:

    • 我还有一个问题要问您...我们遇到了随机问题,例如网站突然关闭,几分钟后自动解决,比如 15 分钟。当我搜索并发现网络配置文件应该位于特定文件夹中时,它抛出了一个错误Error link@Aristos,但我没有得到关于这个问题为什么会发生以及如何自动解决的具体想法......
    • @Padmanaban 我们将 web.config 放在其他目录中仅出于权限目的...您的站点可能因许多不同的原因而关闭。例如,您是否上传大文件?你有什么吸引你的地方吗?也许有些代码是堆栈?
    猜你喜欢
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多