我有一个奇怪的问题,我有一个HttpHandler,它的ProcessRequest()事件被触发两次。
除了指向静态方法的指针外,我在类中没有别的东西,所以我迷失了。
我做了一些谷歌搜索无济于事,甚至认为似乎有一些人有类似的问题:
代码:
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
Common.Tracker.TrackPageView(context);
}
答案 0 :(得分:10)
报废。
我一直在使用firefox进行测试,这只会在我直接调用处理程序时发生。
如果我将处理程序设置为图像src,则不会发生这种情况。
另外在IE中这不会发生 - 它只是firefox。
我认为它可能是我的扩展程序(特别是firebug或YSLOW),所以我一个接一个地手动禁用它们,它仍然在发生,所以我不知道但是firefox会对页面进行两次调用。
也许它与这篇旧帖相似,因为我将GIF作为内容类型返回: http://www.hanselman.com/blog/InternetExplorerAndTheMagicOfMicrosoftKBArticleQ293792.aspx
希望这可以帮助某人,因为那是几个小时我永远不会回来......
答案 1 :(得分:1)
您似乎正在尝试跟踪网页浏览量;可能客户端上的某些东西导致页面/处理程序被调用两次?我发现过去发送到浏览器的html包含一个没有src属性的img标签时,我看到了类似的行为。这只发生在FireFox中,但导致页面被调用两次。建议:查看是否有没有src标签的图片;使用Fiddler或FireBug来检查http流量并确保您不会无意中两次调用处理程序。更多细节也会有所帮助。希望这会有所帮助。
答案 2 :(得分:1)
可能是浏览器试图获取图标吗?