WinSCP. NET Сборочный список сборок, который определяет передачу ASCII, когда TransferMode == Автоматически - PullRequest
0 голосов
/ 15 января 2020

Это решение, если вы хотите контролировать, какие файлы будут автоматически передаваться с помощью ASCII или BINARY без записи управляющих операторов для WinSCP в C#, вам нужно создать новый сеанс и в этом сеансе

AddRawConfiguration(@"Interface\CopyParam\Masks", ...)

Например:

using (var session = new Session())
{
    var asciiFileMasks = "*.xsl; *.xslt; *.*html; *.htm; *.txt; *.php; *.php3; *.cgi; *.c; *.cpp; *.h; *.pas; *.bas; *.tex; *.pl; *.js; .htaccess; *.xtml; *.css; *.cfg; *.ini; *.sh; *.xml";
    session.AddRawConfiguration(@"Interface\CopyParam\Masks", asciiFileMasks );//for automatic transfers, this list determines ascii or binary mode

   ///... do your thing
}

1 Ответ

0 голосов
/ 16 января 2020

Лучшее решение - TransferOptions.AddRawSettings. Среди прочего не нужно открывать новую сессию:

var options = new TransferOptions();
options.AddRawSettings("Masks", "*.*html; *.htm; *.txt; *.php; *.php3; ...");

И вам, конечно, нужно включить automati c режим передачи :

options.TransferMode = TransferMode.Automatic;

Тогда Вы используете свой экземпляр options с такими методами, как Session.GetFiles, Session.PutFiles и др. c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...