【发布时间】:2012-01-23 10:44:38
【问题描述】:
我有一个在 IIS7 下运行良好的 ASP.NET 4.0 Web 应用程序(webforms,而不是 mvc;没有使用 asp.net 路由)。当我尝试在 IIS6 下运行它并导航到 http://localhost/MyApp/ 时,出现以下异常:
File does not exist.
System.Web.HttpException
at System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response) (+0 IL, +2509040 JIT)
at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context, String overrideVirtualPath) (+54 IL, +198 JIT)
at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state) (+263 IL, +347 JIT)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() (+214 IL, +8967220 JIT)
at System.Web.HttpApplication.ExecuteStep(HttpApplication.IExecutionStep step, Boolean& completedSynchronously) (+54 IL, +184 JIT)
请注意,此输出来自我自己的自定义错误页面。因此,.NET 本身运行良好。我什至可以远程调试它和其他东西。
现在,如果我输入 http://localhost/MyApp/Default.aspx,一切正常,我会得到默认页面,等等。第一个想法是在 IIS 中没有指定默认文档,但它是。更糟糕的是 - 如果我完全禁用它,我仍然会收到相同的错误消息(是的,我重新启动了 IIS 并清除了浏览器缓存)!
似乎/ 的请求总是直接发送到 ASP.NET,然后由于没有任何默认文档概念而感到困惑。但是我没有定义任何通配符映射,那怎么可能呢?
【问题讨论】:
-
您是否在“目录”选项卡中检查了目录浏览
-
@moguzalp - 我不希望人们能够列出我的目录的内容。
标签: asp.net iis-6 asp.net-4.0 default-document