ASP.Net HttpHandler ProcessRequest () срабатывает дважды - PullRequest
5 голосов
/ 18 июня 2010

У меня странная проблема, когда у меня HttpHandler, дважды запускающий событие ProcessRequest ().

У меня больше нет ничего в классе, кроме указателя на статический метод, поэтому я потерялся.

Я немного погуглил, но безрезультатно, что кажется, что у некоторых людей возникают похожие проблемы:

Код:

    public bool IsReusable
    {
        get { return true; }
    }

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

Ответы [ 3 ]

10 голосов
/ 18 июня 2010

Удалите это.

Я тестировал в Firefox, и это ТОЛЬКО происходит, когда я напрямую вызываю обработчик.

Если у меня настроен обработчик как источник изображения, это не такслучается.

Кроме того, в IE этого не происходит - это только Firefox.

Я думал, что это могут быть мои расширения (в частности, firebug или YSLOW), поэтому я вручную отключил их по одномуи это все еще происходило, так что я понятия не имею, но Firefox делает два вызова на страницу.

возможно, это похоже на этот старый пост, так как я возвращаю GIF в качестве типа контента: http://www.hanselman.com/blog/InternetExplorerAndTheMagicOfMicrosoftKBArticleQ293792.aspx

надеюсь, это кому-нибудь поможет, потому что через пару часов я никогда не вернусь ...

1 голос
/ 21 июня 2011

Может быть, браузер пытался получить значок?

1 голос
/ 18 июня 2010

Похоже, вы пытаетесь отслеживать просмотр страницы; может ли что-то на клиенте вызывать вызов страницы / обработчика дважды? Я видел подобное поведение в прошлом, когда HTML, отправленный в браузер, содержал тег img без атрибута src. Это происходило только в FireFox, но дважды вызывало страницу. Предложения: посмотрите, есть ли изображения без тегов src; используйте Fiddler или FireBug для проверки http-трафика и убедитесь, что вы случайно не вызываете обработчик дважды. Более подробная информация также будет полезна. Надеюсь, это поможет.

...