C# - SharpSSH在ASCII模式下传输?

时间:2012-11-06 11:19:09

标签: c# sharpssh

我正在使用SharpSSH将xml文件传输到unix机器。以下是编写文件的代码:

public override void WriteFile(string directoryName, string fileName, string responseText) {
    try {
        sshExec.RunCommand(@"echo """ + responseText + @""" > " + directoryName + "/" + fileName);
    } catch (Exception e) {
        log.Error("Failed to write file at " + directoryName + "/" + fileName);
        throw new Exception("Failed to write file to " + directoryName + "/" + fileName, e);
    }
}

问题是这些文件无法通过XSD验证。在转移之前检查它们时,它们会通过验证。我怀疑问题是它们是以ASCII模式复制的,特别是问题可能是行尾字符。我们在使用WinSCP之前遇到此问题,直到我们将其配置为以二进制模式传输 重要的是,即使接收应用程序在unix上运行,它确实需要Windows字符集并知道如何处理它。
SharpSSH claims the implementation supports binary mode only的开发者。 有没有人对这个图书馆有任何经验并且可以阐明这个?

修改
似乎响应是在没有任何Crlf字符的情况下发送的,所以我现在完全被难倒了。

0 个答案:

没有答案