我正在编写一个将 zip 文件上传到 ftp 服务器的代码。令人惊讶的是,该代码适用于小文件,但对于较大的文件,我最终会遇到问题。我正在使用 Stream 对象,并且我注意到我的代码在尝试关闭 Stream 时卡住了(仅适用于大文件)。如果我不关闭 Stream(即使是大文件),代码运行良好。有没有人看到为什么会发生这种情况的任何逻辑。如果我不关闭流,我将来可能会遇到问题。
代码摘录:
FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp://" + ftpServerIP + @"/" + fileInf.Name));
Stream strm = reqFTP.GetRequestStream();
代码在以下位置停止响应(当上传文件很大时):
strm.Close();
也不例外,因为这部分在 try-catch 中。
我不知道如何获取堆栈跟踪。