我從來沒有完全明白this property of the IHttpHandler。這是您在實現接口時必須設置的屬性。我認爲將其設置爲真會對性能更好,但我不確定可能會產生哪些負面影響。我應該回復真實還是錯誤?我應該在我的HttpHandlers中將IsReusable設置爲True嗎?
回答
它用於指示IHttpHandler的單個實例是否將用於處理多個併發請求。因此,如果將其設置爲true
,它會提高性能,但是您必須確保您的代碼是線程安全的,因爲ProcessRequest
方法可能會同時從多個線程中調用。
處理程序非常簡單,它不需要維護狀態。它應該是線程安全的。所以我認爲我可以將它設置爲真實!謝謝。 – 2010-01-13 15:03:08
當你在處理程序中有私有成員變量並且使用上下文時是這個線程安全的? – 2012-08-31 18:22:18
您可以請解釋**,因爲ProcessRequest方法可能會同時從多個線程調用。 – 2013-05-24 05:20:00
如果您的IHttpHandler
實現包含狀態(可能在構造函數中設置並稍後在ProcessRequest
中使用),那麼將IsReusable
設置爲false有時會很有用。
IsReusable將處理程序保留在內存中並能夠處理多個請求。當設置爲false時,它必須爲每個傳入請求創建一個處理程序的新實例。
我遇到了一些問題,與此屬性自己:
[在HTTP處理程序接口BOOL IsReusable的意義(中- 1. 當shutdownOnProcessExit設置爲true時,我應該調用Cef.Shutdown()嗎?
- 2. 我應該設置AssemblyConfigurationAttribute嗎?
- 3. 我應該設置爲_ITERATOR_DEBUG_LEVEL
- 4. 我應該將塊引用設置爲nil AFTER執行嗎?
- 5. 我應該將Accept-Language頭設置爲「en-gb」嗎?
- 6. 我應該將字符串設置爲無或空嗎?
- 7. 我應該在asp.net應用程序中將generatePublisherEvidence設置爲false?
- 8. 我應該爲生產應用程序設置enableDebugLogging爲false嗎?
- 9. MySQL外鍵:我應該設置它嗎?
- 10. 我應該明確設置屬性嗎?
- 11. 我正在使用Facebook PHP-sdk v3.1.1 ...我還需要將cookie設置爲「true」嗎?
- 12. 我應該將我的服務設置爲聽哪個端口?
- 13. 應該將autovacuum設置爲on嗎?
- 14. 如何在MATLAB gui中將我的複選框設置爲true?
- 15. 在Cocoa中聲明對象時,我應該將它們設置爲零嗎?
- 16. 當我將DisplayHomeAsUpEnabled設置爲true時,爲什麼我的應用崩潰了?
- 17. 我應該在Cookie上設置一個域名嗎?爲什麼?
- 18. 我應該配置System.Windows.Media.Pen嗎?
- 19. 我應該爲NULL設置一個可選值的列嗎?
- 20. 我應該爲每個幀設置新的TextureRegion for Sprite嗎?
- 21. 我應該設置在Xcode中創建
- 22. 應該在UIViewController的viewDidUnload中將IBOutletCollections設置爲nil嗎?
- 23. 我應該將此作爲模型嗎?
- 24. 我應該取消設置我的PHP數組值嗎?
- 25. 我應該在我的應用中默認設置Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture?
- 26. 我應該如何設置我的DATABASE_URL?
- 27. 我應該在生產環境中使用「Integrated Security = True」嗎?
- 28. 我應該使用XML將配置設置存儲在我的C#.Net應用程序中嗎?
- 29. 爲什麼我要在ContentControl上將IsTabStop設置爲true?
- 30. 當我應該設置layer.shouldRasterize爲YES
可能重複http://stackoverflow.com/questions/539302/significance-of -bool-isreusable -in-http-handler-interface) – svick 2012-03-01 12:51:08