ASPX-Handler 再次调用完整的网站生命周期

本文关键字:网站 生命 周期 调用 ASPX-Handler | 更新日期: 2023-09-27 17:56:54

我的ASPX网站有CSS文件和JS文件链接为ASHX文件。例如,我的标记中<script type="application/javascript" src="/JavaScript.ashx"></script>。当我在Chrome(没有附加组件的最新版本)中调试网站时,它会再次调用整个生命周期。

出于测试目的,我清除了处理程序的 ProcessRequest 方法,并直接访问了它。(http://localhost:1234/JavaScript.aspx)。在我的处理程序完成 ProcessRequest 方法后,它会跳转到 Default.aspx 的 Default() 构造函数(之后它显然会继续运行整个生命周期)。我认为在请求之后,Chrome确实出于未知原因在后台访问(http://localhost:1234/),并调用了我的默认值的生命周期.aspx分别使用IsPostBack = falseIsCallback = false

奇怪的是,在Internet Explorer 11中,我没有遇到这个问题。

这怎么可能?这仅仅是Chrome的问题吗?使用实时版本时甚至会出现吗?有什么解决方法吗?

ASPX-Handler 再次调用完整的网站生命周期

好的,

我发现了它是由以下原因引起的:我的 web.config 包含

    <customErrors mode="On" redirectMode="ResponseRedirect">
        <error statusCode="404" redirect="/" />
    </customErrors>

<system.webServer>
    <httpErrors errorMode="Custom">
        <remove statusCode="404" />
        <error statusCode="404" path="/" responseMode="Redirect" />
    </httpErrors>
</system.webServer>

我知道这是处理 404 响应的错误方式,但我并没有离开它。我只是想知道为什么 Chrome 会收到 404 响应,即使我的处理程序返回内容?因为这是它可以转发到"/"并重复我的生命周期的唯一原因。