SSIS中C#脚本设置WinSCP ResumeSupport.State无效报错求助
解决WinSCP同步时临时文件重命名错误问题
你遇到的问题核心是:虽然定义了关闭续传支持的TransferOptions配置,但没有将该配置传递给同步方法,导致你的设置未生效,WinSCP依然使用默认的续传模式,从而触发临时文件重命名失败的错误。
修正后的代码如下:
using (Session session = new Session()) { // Connect session.Open(sessionOptions); TransferOptions transferOptions = new TransferOptions(); // 关闭所有文件的续传支持/临时文件名传输 transferOptions.ResumeSupport.State = TransferResumeSupportState.Off; MessageBox.Show(transferOptions.ResumeSupport.State.ToString()); // Synchronize files - 传入配置好的transferOptions SynchronizationResult synchronizationResult; synchronizationResult = session.SynchronizeDirectories( SynchronizationMode.Local, sLocalFolder, "/", false, false, SynchronizationCriteria.None, transferOptions); // 抛出所有错误 synchronizationResult.Check(); session.Close(); }
关键修改说明:
- 在调用
SynchronizeDirectories方法时,添加最后一个参数transferOptions,确保你的续传关闭设置被同步流程采纳。 - 注意
SynchronizeDirectories的参数顺序,需要补全中间的默认参数(如false表示不删除额外文件,SynchronizationCriteria.None表示默认同步规则),再传入你的配置对象。
内容的提问来源于stack exchange,提问作者John W.
相关产品推荐
相关产品推荐

