我的ASP.NET應用程序允許用戶上傳和下載大文件。這兩個過程涉及讀取和寫入文件流。我應該怎麼做才能確保應用程序在處理大文件時不會掛起或崩潰?應該在工作線程上處理文件操作?在ASP.NET中處理大文件傳輸時,應該採取哪些預防措施?
1
A
回答
1
確保正確地緩衝文件,以便它們不會佔用系統中過多的內存。
例如摘自下載應用程序,在讀取文件的while循環中:
// Read the data in buffer.
length = iStream.Read(buffer, 0, bufferSize);
// Write the data to the current output stream.
Response.OutputStream.Write(buffer, 0, length);
其中,bufferSize是合理的, 100000字節,折衷是對於較小的緩衝區大小會更慢。
http://support.microsoft.com/kb/812406
編輯:另外要確保IIS設置採取足夠request length(IIS7)和超時大。
0
除非這是您網站的主要用途,否則請考慮將這些操作分配到單獨的應用程序,例如,一個子應用程序或子域。除了降低風險之外,隨着用戶羣的增長,這也將簡化擴展。
相關問題
- 1. LAMP應用程序在初始化時應該採取哪些預防措施?
- 2. 處理生產數據時需要採取哪些預防措施?
- 3. 我應該採取哪些措施來防止SQL注入?
- 4. 我應該採取哪些安全措施來防止下載我的文檔?
- 5. 信用卡信息,必須採取哪些安全預防措施?
- 6. 在標準MVC4項目中更改Jquery版本時需要採取哪些預防措施?
- 7. 我應該採取哪些措施來保護我的Google Maps API密鑰?
- 8. 開發ajax驅動應用程序時應採取哪些安全措施?
- 9. SQL注入預防:最大的措施
- 10. 我應該採取措施防止從CreateProcessWithLogonW調用中讀取密碼嗎?
- 11. Angular2子路由重定向採取預防措施
- 12. 如果編寫病毒需要採取什麼預防措施
- 13. 我讓客戶端將JavaScript添加到網頁之前應採取哪些預防措施?
- 14. 我應該採取什麼措施排查testdriven.net安裝問題?
- 15. 如果模塊無法加載,應該採取什麼措施
- 16. 如何在Eclipse中採取某些措施?
- 17. 如何通知運行libevent的線程應該採取一些措施?
- 18. 可以採用哪些SQL Server 05/08安全措施來防止SQL注入?
- 19. 我應該採取什麼樣的安全預防措施來「聯繫我們」表單?
- 20. 我應該採取什麼預防措施來阻止用戶提交的HTML上的XSS?
- 21. 您採取了哪些措施來消除Rails開發中的錯誤?
- 22. 警報措施處理
- 23. 的安全預防措施與AJAX
- 24. GWT干擾XSS預防措施
- 25. 應該採取什麼措施來避免傳出的電子郵件被傳遞給垃圾郵件
- 26. 如何在iOS中收到短信時採取措施?
- 27. 的LINQ採取措施,通過收集
- 28. specs2-對測試失敗採取措施
- 29. 如何採取措施關閉NSPopover?
- 30. ASP.NET MVC預防措施重定向與AJAX