【问题标题】:asp Default document not working on IIS7asp 默认文档在 IIS7 上不起作用
【发布时间】:2011-10-04 00:26:12
【问题描述】:

我在 .NET 4.0 应用程序中有一个经典的 asp 应用程序。我已将默认文档设置为 login.asp,但它不会自动重定向到它。整个应用程序运行良好,如果我浏览到它,甚至可以正确显示 login.asp。

web.config 中的默认文档部分如下:

<defaultDocument>
    <files>
        <clear />
        <add value="login.asp" />
        <add value="index.html" />
        <add value="default.aspx" />
        <add value="Default.htm" />
        <add value="Default.asp" />
        <add value="index.htm" />
        <add value="iisstart.htm" />
    </files>
</defaultDocument>

我在这个网站上查看了其他类似的问题,但没有太大帮助。

【问题讨论】:

    标签: iis iis-7 asp-classic default-document


    【解决方案1】:

    我终于发现问题是因为使用 .NET Framework 4.0 以经典模式将 asp 应用程序分配到了应用程序池。

    一旦我将应用程序池更改为使用 .NET Framework 2.0(在经典模式下使用托管管道),默认文档也开始工作!

    【讨论】:

    • 您确定新的应用程序池处于经典模式吗?我忘了system.webServer 部分只能在集成模式下工作。
    • 是的,我必须将其设为经典模式才能让 asp 应用程序正常工作。
    • 你拯救了我的一周!该站点没有任何更改,但 Windows 更新一定有所作为,因为该站点将以我的自定义 DefaultPage 开头。我没有更改管道模式,但是将 .NET 版本设置为 2.0.x 会使网站再次加载。
    【解决方案2】:
    1. 确保您对默认文档具有读/写Feature Delegation enabled:

    2. DefaultDocument 不会重定向到文件(即 URL 未更改)。它的作用类似于Server.Transfer 函数——在请求根 URL (http://sitename/) 时执行文件。可能,您的 login.asp 已执行,但它具有将登录用户重定向到不同页面或向他们显示不同内容的指令。

    3. 确保响应没有被缓存。清除缓存和 cookie,然后重试。

    【讨论】:

    • 感谢您非常明确的指示。我终于发现问题是因为使用 .net framework 4.0 将 asp 应用程序分配到经典模式下的应用程序池。一旦我将其更改为使用 .net 2.0,默认文档也开始工作!
    【解决方案3】:

    我今天遇到了这个问题,将一个全新的 asp.net 站点部署到 Azure。我试着弄乱 IIS 和我的 web.config 包括

    <defaultDocument enabled="true">
        <files>
            <clear />
            <add value="Index.html" />
        </files>
    </defaultDocument>
    

    原来我的问题是“文件”>“新建项目”向导默认使用 .NET 4.5.2,但 Azure 尚不完全支持。我使用 .NET 4.5 作为目标重新编译,现在一切正常!

    【讨论】:

      猜你喜欢
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 2015-12-14
      相关资源
      最近更新 更多