我有一個類實現IHttpModule。這是一個幫助我的應用程序抵禦DDOS攻擊的支持類。實施BeginRequest
方法後,我試着調試我的代碼,出於某種原因,每次我調試類時,我都在Visual Studio中有多個線程。我不明白爲什麼,突然間,在我的本地機器上運行這個應用程序時,我得到了幾個線程,而且它只發生在這個類中。IHttpModule和線程
回答
的可能的HttpModule攔截所有的請求到您的應用程序,其中包括文件(JS,CSS,圖像等)
看看每個請求的Request對象,並期待在Url屬性看什麼正在發生。
編輯: 的HttpModules活躍在請求流非常早,而且他們往往會得到由服務器最請求命中,所以保持代碼中的HttpModule到最低限度。例如:如果您對文件進行權限確認,請確保請求實際上正在打擊文件(即請求的網址以/ files /開頭)。只要有可能,緩存HttpModules中使用的數據,不要去HttpModule中的每個請求的數據庫!
爲什麼你的實際應用中可能獲得的命中次數較少的原因是,即使對圖像,js文件,css文件等的請求可能會在HttpModule中產生影響,但在您的應用程序中,只有請求意味着應用程序將在ASP.NET MVC中爲Web窗體和可識別的路徑創建斷點(aspx,asmx等)。
爲了得到一個看看什麼要求你在一個HTTP模塊處理,看url變量的值:
void context_BeginRequest(object sender, EventArgs e) {
HttpApplication app = (HttpApplication)sender;
String url = app.Request.Url.OriginalString;
}
我不知道這是如何解決「多個線程」的任何方式。 – 2012-08-01 16:38:38
這正是在Visual Studio中調試時的樣子,因爲VS Web服務器(或IIS Express)一次處理多個請求,所以您正在一次調試多個線程。 – 2012-08-01 16:39:35
IIS或VS Web服務器有多個線程而不使用IHttpHandler,只有一個請求...是否有多個請求是無關緊要的,除非我們知道*爲什麼* OP會關注多個線程。即如果你總是有幾個線程,他的擔心是什麼? – 2012-08-01 16:42:53
- 1. InRequestScope ObjectContext for IHttpModule
- 2. IHTTPModule perfomance命中?
- 3. ASP.NET Webforms IHttpModule Singleton
- 4. json ihttpmodule壓縮
- 5. IHttpModule的問題
- 6. IHttpModule RewritePath StatusCode 404
- 7. 兩者的IHttpModule和控制檯應用程序
- 8. IHttpModule未被調用
- 9. 從IhttpModule注入js
- 10. 的IHttpModule,IHttpHandler的.NET
- 11. 單元測試IHttpModule
- 12. 的IHttpHandler VS IHttpModule的
- 13. IHttpModule Response.Filter Write No Close HTML
- 14. autofac - 依賴注入IHttpModule
- 15. 如何正確處置IHttpModule?
- 16. ASP.NET MVC + IHttpModule =未找到
- 17. WCF通過IHttpModule設置Thread.CurrentPrincipal
- 18. 線程和進程?
- 19. 線程和進程
- 20. 流程和線程
- 21. 線程和進程
- 22. Android和線程
- 23. 塊和線程
- 24. NativeXml和線程
- 25. 線程和鎖
- 26. System.Activator.CreateInstance和線程
- 27. urllib2和線程
- 28. mlock()和線程
- 29. AppDomain和線程
- 30. TimerTask和線程
什麼是您使用的通知「幾個線程」?我認爲這是一個Web應用程序,你有沒有在web.config中註冊IHttpModule?這是一個MVC Web應用程序(2,3?)還是一個經典的ASP.NET Web應用程序? – 2012-08-01 15:48:08
當我調試沒有處理程序的Web應用程序時,我在「線程」窗口中看到7個線程。我不知道爲什麼這是你的關注... – 2012-08-01 15:49:41
該應用程序是一個經典的asp.net應用程序,是的,我已經在web配置註冊它。 – 2012-08-02 06:33:38