7

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

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

4

3 回答 3

12

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

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

于 2011-10-04T06:47:06.743 回答
5
  1. 确保您为默认文档 启用了读/写功能委派:1.jpg

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

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

于 2011-10-04T05:07:56.103 回答
2

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

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

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

于 2016-01-14T21:48:29.610 回答