在ASP.NET應用程序中,用戶在嘗試上載文件時很難。 該應用程序是由約30人通過1Mb光纖專線訪問服務器。診斷文件上傳失敗ASP.NET
文件上傳實現似乎沒有問題,因爲問題不會偶爾發生。也我已經嘗試上傳大文件(高達50 Mb),我沒有任何問題。
所以我假設問題必須在網絡連接上,有些日子必須有某種帶寬問題。
如何有效診斷問題的根本原因?
謝謝。
在ASP.NET應用程序中,用戶在嘗試上載文件時很難。 該應用程序是由約30人通過1Mb光纖專線訪問服務器。診斷文件上傳失敗ASP.NET
文件上傳實現似乎沒有問題,因爲問題不會偶爾發生。也我已經嘗試上傳大文件(高達50 Mb),我沒有任何問題。
所以我假設問題必須在網絡連接上,有些日子必須有某種帶寬問題。
如何有效診斷問題的根本原因?
謝謝。
fileupload模塊中充滿了大量的try catch塊,因此顯示在log4net日誌文件上的消息是開發人員提供的錯誤消息。在一步一步地嘗試重現問題後,我們得到了錯誤信息來自系統的部分「該文件無法保存,因爲它超過了50個字符」,但該文件大約爲40個字符。開發人員在文件名上使用函數Server.HTMLEncode來將名稱存儲在數據庫中,但是當文件具有特殊字符時,由於文本編碼,文件名有時會超過50個字符。解決方法是通過一些字符增加文件名的大小,並且在驗證文件名時,我們使用HTML驗證了長度,並且警告用戶減少超過x個字符數以使文件有效。
你記錄你的例外嗎?對於ASP.NET
如果沒有,你可以看看Web服務器的事件日誌。
錯誤可能是上傳Web服務器的限制和安全問題。
我們已經使用log4net,但由於其中一個開發人員用很多try catch塊填充了fileupload模塊,日誌消息並不是那麼有用。最終,我們通過逐步調試應用程序來解決問題,並找出原因。 – 2012-07-26 09:37:23
編碼文件名異常。解決問題後,我分享你的感受:) – emremp 2012-07-31 19:46:06