自动将新创建的文件上传到 SFTP 服务器
Automatically upload newly created files to an SFTP server
ASP.NET 应用程序(运行 on Windows server/IIS 7)必须将当前用户上传的大文件传输到外部 SFTP 服务器。由于文件大小,我们的想法是异步执行此操作。
想法是 ASP.NET 应用程序将上传的文件存储在 Windows 服务器的本地目录中。当前用户可以继续他的工作。 Windows 服务或 Quartz 作业(其他工具(*)/想法?)现在负责将文件传输到外部 SFTP 服务器。
(*) 是否存在侦听 Windows 目录更改然后将文件移动到 SFTP 服务器(包括处理通信 errors/retries)的现有工具?
如果没有现成的解决方案,您是否有过类似的需求?我们需要考虑什么?由于与 SFTP 服务器的连接不是很稳定,我们需要具有自动重试功能的优化错误处理。
要在 .NET 中监视本地目录中的更改,请使用
FileSystemWatcher
class.
如果您正在寻找开箱即用的解决方案,请使用 keepuptodate
command in WinSCP scripting。
WinSCP脚本的一个简单例子(如watch.txt
):
open sftp://username:password@host/
keepuptodate c:\local_folder_to_watch /remote_folder
exit
运行 脚本如下:
winscp.com /script=watch.txt
虽然这只适用于上传的文件保存在远程文件夹中的情况。
(我是WinSCP的作者)
ASP.NET 应用程序(运行 on Windows server/IIS 7)必须将当前用户上传的大文件传输到外部 SFTP 服务器。由于文件大小,我们的想法是异步执行此操作。
想法是 ASP.NET 应用程序将上传的文件存储在 Windows 服务器的本地目录中。当前用户可以继续他的工作。 Windows 服务或 Quartz 作业(其他工具(*)/想法?)现在负责将文件传输到外部 SFTP 服务器。
(*) 是否存在侦听 Windows 目录更改然后将文件移动到 SFTP 服务器(包括处理通信 errors/retries)的现有工具?
如果没有现成的解决方案,您是否有过类似的需求?我们需要考虑什么?由于与 SFTP 服务器的连接不是很稳定,我们需要具有自动重试功能的优化错误处理。
要在 .NET 中监视本地目录中的更改,请使用
FileSystemWatcher
class.
如果您正在寻找开箱即用的解决方案,请使用 keepuptodate
command in WinSCP scripting。
WinSCP脚本的一个简单例子(如watch.txt
):
open sftp://username:password@host/
keepuptodate c:\local_folder_to_watch /remote_folder
exit
运行 脚本如下:
winscp.com /script=watch.txt
虽然这只适用于上传的文件保存在远程文件夹中的情况。
(我是WinSCP的作者)