5

我有一个奇怪的问题,我有一个 HttpHandler,它的 ProcessRequest() 事件触发了两次。

除了指向静态方法的指针外,我在课堂上没有其他任何东西,所以我迷路了。

我做了一些谷歌搜索无济于事,即使似乎有些人遇到了类似的问题:

代码:

    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        Common.Tracker.TrackPageView(context);
    }
4

3 回答 3

10

废了这个。

我一直在 Firefox 中进行测试,只有当我直接调用处理程序时才会发生这种情况。

如果我将处理程序设置为图像 src,则不会发生这种情况。

另外在 IE 中这不会发生 - 它只是 firefox。

我认为这可能是我的扩展(特别是 firebug 或 YSLOW),所以我手动将它们一一禁用,但它仍在发生,所以我不知道,但 firefox 对一个页面进行了两次调用。

也许它与这篇旧帖子类似,因为我将 GIF 作为内容类型返回: http ://www.hanselman.com/blog/InternetExplorerAndTheMagicOfMicrosoftKBArticleQ293792.aspx

希望这对某人有所帮助,因为那是几个小时,我永远不会回来...

于 2010-06-18T06:53:38.750 回答
1

您似乎正在尝试跟踪页面浏览量;客户端上的某些东西会导致页面/处理程序被调用两次吗?过去,当发送到浏览器的 html 包含一个没有 src 属性的 img 标签时,我曾经看到过类似的行为。这仅发生在 FireFox 中,但导致页面被调用两次。意见建议:看看有没有没有src标签的图片;使用 Fiddler 或 FireBug 检查 http 流量并确保您不会无意中调用处理程序两次。更多细节也会有所帮助。希望这可以帮助。

于 2010-06-18T04:44:47.317 回答
1

可能是浏览器试图获取一个网站图标吗?

于 2011-06-21T08:50:06.217 回答