2010-09-15 41 views
0

我正在使用HTTP處理程序來引發文件下載。'ProcessRequest'中的基本代碼從數據庫中檢索數據,以GUID作爲其名稱創建現有模板電子表格的臨時副本,並寫入數據從數據庫中檢索到使用COM的單元格,然後引發文件下載並刪除臨時電子表格。整個過程通常需要4-5分鐘。但是當我們試圖同時測試這個過程需要大約15分鐘。設置HTTPHandler是可用屬性

我想知道如果設置'IsReusable'布爾值爲true可以幫助提高性能。但我不知道,如果它是安全的。

請問有人能幫我嗎?

**更新:**因爲我爲每個創建的臨時文件使用了不同的文件名,所以我假設不存在安全問題。但仍然不確定。

回答

4

IsReusable財產將做你剛纔的想法。它不會構建每次發出請求時使用的全新Handler,而是重用現有的Handler。如果你有構造函數中創建的實例變量,它可以提升性能,但前提是它們的創建成本很高。另外,如果你在處理程序中保持任何狀態,那麼無論你把它留在什麼狀態,都會在下一個請求中出現。這可能會產生意想不到的副作用。

如果您的流程大部分發生在ProcessRequest方法中,那麼您的瓶頸就在那裏,您應該使用分析來查看可以加快性能的位置。