Пример #1
0
        /// <summary>
        /// Creates and opens a Winscp session based on a connection string.
        /// </summary>
        /// <param name="connectionStringOrName">The connection string or the name of a connection string.</param>
        public static Session Open(this Session session, string connectionStringOrName)
        {
            var csi = new ConnStringInfo(connectionStringOrName);

            if (string.IsNullOrWhiteSpace(session.ExecutablePath))
            {
                var exe = csi["exe"] ?? csi["exepath"];
                if (!string.IsNullOrWhiteSpace(exe))
                {
                    session.ExecutablePath = exe;
                }
            }

            var o = new SessionOptions
            {
                HostName = csi["host"] ?? csi["hostname"],
                UserName = csi["username"] ?? csi["user"],
                Password = csi["password"] ?? csi["pw"],
                SshHostKeyFingerprint = csi["hostkey"] ?? csi["HostKeyFingerprint"],
            };

            var port = csi["port"] ?? csi["portnumber"];

            if (!string.IsNullOrWhiteSpace(port))
            {
                o.PortNumber = int.Parse(port);
            }

            session.Open(o);
            return(session);
        }
Пример #2
0
        public void TestConnStringInfo()
        {
            const string connString = @"host=localhost;user=bob;pw=goatman;anything=everything";
            var info = new ConnStringInfo(connString);

            Assert.AreEqual("localhost", info["host"]);
            Assert.AreEqual("bob", info["user"]);
            Assert.AreEqual("goatman", info["pw"]);
            Assert.AreEqual("everything", info["anything"]);
        }