2012-05-03 51 views
8

Tôi có một tệp hình ảnh trong Dự án mẫu của tôi. Tôi đang thử URL như dưới đây.Yêu cầu ASP.Net Vòng đời - Application_BeginRequest

http://localhost:49334/Chrysanthemum.jpg

Tôi có một Application_BeginRequest event trong tập tin Global.asax tôi.

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
} 

Query - Sự kiện này không bị sa thải khi tôi yêu cầu hình trên bằng cách trực tiếp gõ URL ở trên.


FROM MSDN - HttpApplication.BeginRequest Event - Xảy ra như sự kiện đầu tiên trong chuỗi đường ống dẫn HTTP thực hiện khi ASP.NET đáp ứng một yêu cầu.

I want to make my all request to fire `Application_BeginRequest` Event 
+0

bạn đang sử dụng IIS 6 hoặc 7? – MikeM

+0

Kiểm tra xem bạn có đang sử dụng IIS7 với một nhóm ứng dụng tích hợp không. –

Trả lời

4

Vấn đề có thể do phần mở rộng .jpg không được ánh xạ mặc định tới asp.net và được IIS xử lý.

Nếu bạn sử dụng IIS7, bạn có thể thay đổi điều này bằng cách đặt runAllManagedModulesForAllRequests thành true.

<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"> 
    ... 
</modules> 
</system.webServer> 

Nếu vẫn sự kiện này không bị sa thải, bạn có thể thử thay đổi global.asax như thế này

<%@ Application Language="C#" %> 

<script runat="server"> 

    public override void Init() 
    { 
     this.BeginRequest += new EventHandler(global_asax_BeginRequest);   
     base.Init(); 
    } 

    void global_asax_BeginRequest(object sender, EventArgs e) 
    { 

    }  

</script> 

Nếu bạn muốn xử lý chỉ file .jpg, cách tốt hơn là làm cho handler HTTP và cấu hình system.webServer> handlerssystem.web> httpHandlers phần trong web.config để chạy trình xử lý này cho các yêu cầu .jpg.

+0

Bạn có thể nói điều gì đó về PitFalls của việc thiết lập mã này trong Web.Config? – Pankaj

+0

Cạm bẫy gì? Nếu bạn muốn biết thêm về trình xử lý, hãy xem url này: http://support.microsoft.com/kb/308001 –

+0

Cảm ơn bạn đã liên kết nhưng Liên kết này không rõ ràng về những cạm bẫy khi sử dụng '' – Pankaj

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