asp默认文档不能在IIS7上运行

时间:2011-10-04 00:26:13

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

我在.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>

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

3 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:5)

  1. 确保您对默认文档具有读/写Feature Delegation enabled1.jpg

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

  3. 确保未缓存响应。清除缓存和Cookie,然后重试。

答案 2 :(得分:2)

今天我遇到了一个部署到Azure的全新asp.net站点。我试过搞乱IIS和我的web.config包含

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

原来我的问题是文件&gt;默认情况下,New Project向导使用.NET 4.5.2,但Azure中尚未完全支持。我使用.NET 4.5作为目标重新编译,现在一切正常!