我正在用 C# / VS2005 编写一个程序来备份我们的生产数据库,对其进行压缩,然后将其传输到远程服务器。我在远程服务器上设置了一个简单的 ftp 站点。
问题是文件只传输了大约一半(~500 - 600 MB)并且程序抛出异常:
“现有连接被远程主机强行关闭”
我使用的代码基本上是从这里剪切和粘贴的,由 Jaimon Mathew 编写,使用套接字:
http://www.csharphelp.com/archives/archive9.html
我已经研究了这个问题,看起来我无法做任何事情来防止连接被关闭,我解决它的唯一方法是使用套接字的“异步”方法。
我一直在搜索并且找不到任何示例代码来执行此操作,而且我无法相信我正在尝试执行的这个简单任务被证明如此困难。
有没有一种简单的方法可以将大型(~1.2 GB)本地文件传输到远程 ftp 站点,如果连接被远程主机关闭,它不会失败(我猜它必须重新连接并恢复传输)?
如果我的老板知道我已经在这方面花了多少时间,而且我们仍然没有前一天在远程服务器上的备份,他会杀了我。
我更愿意在 .NET 程序中做所有事情(我们的系统目前是一个巨大的 Rube Goldberg 机器),但我需要一个快速简单的解决方案。
谢谢,
史蒂夫