Winscp AddRawSettings

问题描述

从WinSCP GUI生成C#代码时,我得到

sessionoptions.AddRawSettings("FSProtocol","2");

有人知道此FSProtocol设置和值"2"意味着什么吗? 我尝试用Google搜索“ FSProtocol”,但未获得任何针对它的结果。

这是我从他们的文档https://winscp.net/eng/docs/rawsettings中找到的设置列表

解决方法

WinSCP有助于在GitHub(以及其他地方)中提供源代码-在该仓库中搜索FSProtocol时发现了这一行,它很好地列出了与每个值相关的名称-它们似乎引用了不同的文件WinSCP的传输方式:

https://github.com/winscp/winscp/blob/c472858e482cbdee0508c64203bc58340b645007/source/core/SessionData.cpp#L48

0: SCP
1: SFTP (SCP) 
2: SFTP
3: ???
4: ???
5: FTP
6: WebDAV
7: S3
,

@Jason正确回答后,FSProtocol指定要使用的协议。但是在SessionOptions.Protocol property已指定的WinSCP .NET程序集中。因此,这不能解释为什么生成的代码中需要FSProtocol

SessionOptions.Protocol是协议列表中唯一无法覆盖的情况,是2,这是禁用了回退SCP的SFTP协议。如果服务器不支持SFTP,则WinSCP默认情况下会退回到SCP协议。您必须拥有disabled the fallback in GUI。因此,GUI需要使用FSProtocol来反映该非默认设置。

除非您确实希望禁用后备广告,否则可以安全地删除SessionOptions.AddRawSettings通话。