2010-06-18 34 views
5

Tôi có một vấn đề lạ, nơi tôi có một HttpHandler có sự kiện ProcessRequest() của nó bắn hai lần.ASP.Net HttpHandler ProcessRequest() bắn hai lần

tôi không có gì khác trong lớp ngoại trừ con trỏ đến phương pháp tĩnh nên tôi bị mất.

Tôi đã làm một số googling không có kết quả thậm chí còn nghĩ nó xuất hiện một vài người đang gặp vấn đề tương tự:

Code:

public bool IsReusable 
    { 
     get { return true; } 
    } 

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

Trả lời

10

Phế liệu này.

Tôi đã thử nghiệm trong firefox và điều này CHỈ xảy ra khi tôi trực tiếp gọi trình xử lý.

Nếu tôi có trình xử lý được thiết lập dưới dạng hình ảnh src, điều này không xảy ra.

ngoài ra trong IE, điều này không xảy ra - nó chỉ là firefox.

tôi nghĩ rằng nó có thể là phần mở rộng của tôi (cụ thể là firebug hoặc YSLOW), vì vậy tôi tự vô hiệu hóa từng cái một và nó vẫn đang diễn ra vì vậy tôi không có ý tưởng nhưng firefox làm cho hai cuộc gọi đến một trang.

có lẽ nó cũng tương tự như bài cũ này như tôi đang trở về một GIF như các loại nội dung: http://www.hanselman.com/blog/InternetExplorerAndTheMagicOfMicrosoftKBArticleQ293792.aspx

hy vọng điều này giúp một người nào đó vì đó là một vài giờ tôi sẽ không bao giờ trở lại ...

+0

Cảm ơn, điều này đã giúp tôi không bị điên. Nhiều như tôi yêu FF, đôi khi nó có những thứ lạ lùng. – Kon

+0

tôi có cùng một vấn đề nhưng trong chrome của nó, tôi muốn xử lý của tôi được bắn khi tôi gọi nó không phải khi tải trang .. chúng tôi ý tưởng làm thế nào tôi có thể làm điều đó plz – Armance

+0

Bạn có ý nghĩa gì bởi "handler thiết lập như một hình ảnh src "bạn có thể vui lòng xây dựng? Đang cố gắng giải quyết một vấn đề tương tự. –

1

Dường như bạn đang cố gắng để theo dõi một lần xem trang; có thể một cái gì đó trên máy khách được gây ra các trang/xử lý để có được gọi là hai lần? Tôi đã thấy hành vi tương tự trong quá khứ khi html được gửi tới trình duyệt chứa thẻ img mà không có thuộc tính src. Điều này chỉ xảy ra trong FireFox, nhưng đã khiến trang được gọi hai lần. Gợi ý: Xem nếu có bất kỳ hình ảnh nào không có thẻ src; sử dụng Fiddler hoặc FireBug để kiểm tra lưu lượng truy cập http và đảm bảo rằng bạn không vô ý gọi trình xử lý hai lần. Thêm chi tiết cũng sẽ hữu ích. Hi vọng điêu nay co ich.

+0

Tôi đang gọi trực tiếp cho người xử lý. Tôi dự định để nó hiển thị như một điểm ảnh theo dõi nhưng havent đã xa đến mức đó. tôi chỉ đơn giản gọi nó trong trình duyệt. sau đó truyền tệp gif tới trình duyệt. điều này làm việc tốt, nó chỉ cháy phương pháp hai lần ?? – Doug

1

Có thể nào trình duyệt đang cố gắng nhận được một favicon?

Các vấn đề liên quan