【问题标题】:The file '/test.aspx' does not exist. CheckVirtualFileExists exception文件“/test.aspx”不存在。 CheckVirtualFileExists 异常
【发布时间】:2019-05-07 20:44:14
【问题描述】:

在 Azure Web 应用程序中托管网站时,尝试访问不存在的 aspx 文件时出现此错误。

我希望得到 404 响应,但我得到了 500 异常。

我请求其他文件类型我得到预期的 404 响应。

当我在 IIS 上运行同一个站点时,我得到了 aspx 文件的预期 404

请求跟踪失败Link to Failed Request Trace

堆栈跟踪

System.Web.HttpException (0x80004005): The file '/test.aspx' does not exist. at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath
 at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate
 at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate
 at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound
 at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp
 at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath
 at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute(
 at System.Web.HttpApplication.<>c__DisplayClass285_0.<ExecuteStepImpl>b__0(
 at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

【问题讨论】:

    标签: asp.net azure iis azure-web-app-service


    【解决方案1】:

    我希望得到 404 响应,但我得到了 500 异常。

    ASP.NET 管道尝试查找以 /test.aspx 结尾的请求的处理程序,这实际上是页面本身,除非您已将请求路由到其他 URL。

    如果找不到此处理程序,则会收到错误消息。 这不是 404,因为请求甚至没有得到处理。所以返回的实际状态码是 500。

    【讨论】:

    • 感谢您的回复。我怎么会得到“test.asp”或“test.zxy”的404?
    • 你可以参考这个article
    猜你喜欢
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多