在 ASP.NET 应用程序中,用户很难尝试上传文件。该应用程序由大约 30 人通过 1Mb 光纤专线访问服务器。
文件上传实现似乎没有问题,因为问题不会经常发生,只是偶尔出现。另外我已经尝试上传更大的文件(最大 50 Mb),我没有任何问题。
所以我认为问题一定出在网络连接上,有些日子一定有某种带宽问题。
如何有效诊断问题的根本原因?
谢谢。
在 ASP.NET 应用程序中,用户很难尝试上传文件。该应用程序由大约 30 人通过 1Mb 光纤专线访问服务器。
文件上传实现似乎没有问题,因为问题不会经常发生,只是偶尔出现。另外我已经尝试上传更大的文件(最大 50 Mb),我没有任何问题。
所以我认为问题一定出在网络连接上,有些日子一定有某种带宽问题。
如何有效诊断问题的根本原因?
谢谢。
你记录你的异常吗?ASP.NET 的日志记录模块
如果没有,您可以查看 Web 服务器事件日志。
错误可能来自网络服务器的上传限制和安全问题。
fileupload 模块充满了大量的 try catch 块,所以 log4net 日志文件上显示的消息是开发人员提供的错误消息。在逐步尝试重现问题后,我们得到了错误消息来自系统的部分“文件无法保存,因为它超过 50 个字符”,但文件大约 40 个字符。开发人员在文件名上使用函数 Server.HTMLEncode 将名称存储在数据库中,但是当文件具有特殊字符时,由于文本编码,文件名有时会超过 50 个字符。解决方案是将文件名的大小增加一些字符,并且在验证文件名时,我们使用 HTML.Encode 长度进行验证,并警告用户减少超过 x 的字符数以使文件有效。