日期:2014-05-17  浏览次数:21085 次

C# 关于一个FTP连接问题
问题描述如下:

如图,输入FTP服务器IP地址,FTP登录名,FTP登录密码。假设三者正确的登录信息为[192.168.1.8,myusername,mypassword]。
第一次输入正确的三者信息[192.168.1.8,myusername,mypassword],点设置按钮,反馈回来连接成功;
然后我故意输入错的登录名[192.168.1.8,myusername1,mypassword],反馈回来连接失败。
接着我修改登录名为正确用户名,并故意输入错的登录密码[192.168.1.8,myusername,mypassword1],反馈回来的结果是连接成功。
我的代码可以动态读取用户名信息,但密码一旦登录成功则就一直不变了,我的需求就是第一次登录成功后,接着修改登录密码为错的登录密码后,就不允许登录成功。

//声明全局变量
private string ftpUristring = null;
private NetworkCredential networkCredential;
private string currentDir = "/";
//设置按钮事件
        private void setBtn_Click(object sender, EventArgs e)
        {
            try
            {
                if (FTPIpTxt.Text == string.Empty || FTPUsernameTxt.Text == string.Empty)
                {
                    MessageBox.Show("FTP服务器IP或者用户名不能为空", "提示");
                    return;
                }
                ftpUristring = "ftp://" + FTPIpTxt.Text;
                networkCredential = new NetworkCredential(FTPUsernameTxt.Text, FTPPasswordTxt.Text);
                if (ShowFtpFileAndDirectory() == true)
                {
                    listReports.Enabled = true;
                    listStatus.Enabled = true;
                    loginStatusLabel.Visible = true;
                    loginStatusLabel.Text = "登录成功";
                }
                else
                {
                    listStatus.Enabled = true;
                    loginStatusLabel.Visible = true;
                    loginStatusLabel.Text = "登录失败";
            &