2010-06-18 15 views
5

Tengo un problema extraño cuando tengo un HttpHandler que tiene su evento ProcessRequest() activando dos veces.ASP.Net HttpHandler ProcessRequest() disparando dos veces

no tengo nada más en la clase excepto un puntero a un método estático así que estoy perdido.

he hecho algunas google en vano incluso pensó que aparece unas pocas personas están teniendo problemas similares:

Código:

public bool IsReusable 
    { 
     get { return true; } 
    } 

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

Respuesta

10

Chatarra esto.

He estado probando en firefox y esto SÓLO sucede cuando llamo directamente al controlador.

Si tengo el controlador configurado como una imagen src esto no sucede.

adicionalmente en IE esto no ocurre, solo es Firefox.

pensé que podrían ser mis extensiones (específicamente Firebug o YSLOW), así que las desactivaba manualmente una por una y todavía estaba sucediendo, así que no tengo ni idea, pero firefox hace dos llamadas a una página.

tal vez es similar a este antiguo puesto que a mí devolver un GIF como el tipo de contenido: http://www.hanselman.com/blog/InternetExplorerAndTheMagicOfMicrosoftKBArticleQ293792.aspx

esperanza esto ayude a alguien ya que es un par de horas que nunca voy a volver ...

+0

Gracias, esto me ayudó a no volverme loco. Por mucho que ame a FF, a veces hace cosas raras. – Kon

+0

tengo el mismo problema pero está en cromo, quiero que se dispare mi controlador cuando lo llamo no cuando se carga la página ... alguna idea de cómo puedo hacerlo, por favor – Armance

+0

¿Qué quiere decir con "controlador configurado como una imagen src "¿puedes por favor elaborar? Tratando de resolver un problema similar. –

1

Parece que está intentando realizar un seguimiento de una vista de página; ¿Podría algo en el cliente estar causando que la página/manejador se llame dos veces? He visto un comportamiento similar en el pasado cuando el html enviado al navegador contenía una etiqueta img sin el atributo src. Esto solo sucedió en Firefox, pero estaba causando que la página se llamara dos veces. Sugerencias: vea si hay imágenes sin etiquetas src; use Fiddler o FireBug para inspeccionar el tráfico http y asegúrese de no estar inadvertidamente llamando al manejador dos veces. Más detalles también serían útiles. Espero que esto ayude.

+0

Estoy llamando directamente al controlador. Tengo la intención de que se muestre como un píxel de seguimiento, pero no han llegado tan lejos. simplemente lo estoy llamando en un navegador. luego transmite un archivo gif al navegador. esto está funcionando bien, solo dispara el método dos veces? – Doug

1

¿Pudo haber sido que el navegador intentaba obtener un favicon?

Cuestiones relacionadas