操纵登录页面代码以通过WCF连接

时间:2013-06-14 15:29:27

标签: wcf login

所以我浏览了网页但未能找到任何示例。我有一个登录系统,它检查sql数据库以确保信息匹配,然后让它们进入,如果细节与数据库中的相匹配。但是,我正在努力研究如何通过WCF检查数据库。我是WCF的新手,我已经设法插入到wcf中,从WCF将数据加载到datagridview并将datagridview保存到wcf中。我是新手,如果有人有任何例子,那么帮助会很棒吗?谢谢

这是我在WCF之前登录系统的代码

 private void BtnLogin_Click(object sender, EventArgs e)
        {
            {
                try
                {
                    SqlConnection sc = new SqlConnection(@"Data Source=localhost;Initial Catalog=Optimisation;Integrated Security=True;Pooling=False"); // sql connection
                    sc.Open(); // open sql connection
                    SqlCommand cmd = new SqlCommand("select Username, Password from UserDetails where Username='" + txtUsername.Text + "' and Password='" + txtPassword.Text + "'", sc); // select usernames and passwords
                    SqlDataReader dr = cmd.ExecuteReader(); // data reader
                    string Username = txtUsername.Text; // username
                    string Password = txtPassword.Text; // password
                    while (dr.Read()) //datareader
                    {
                        if ((dr["Username"].ToString() == Username) && (dr["Password"].ToString() == Password)) // if username and passowrd match those in database
                        {
                            new Menu().Show(); // show menu form
                            this.Hide(); // hide this for
                        }
                        else
                        {
                            MessageBox.Show("Username or Password is invalid", "login error", MessageBoxButtons.OK); // show message box if password or username is invalid
                        }
                    }
                    dr.Close(); // close data reader
                    sc.Close(); // close sql connection
                }
                catch
                {
                    MessageBox.Show("Username or Password is invalid", "login error", MessageBoxButtons.OK);
                }

            }
        }

以下是我的WCF:

public DataSet SelectUserDetails()
    {
        SqlConnection con = new SqlConnection(@"Data Source=localhost;Initial Catalog=WCFTest;Integrated Security=True;Pooling=False");
        con.Open();
        SqlCommand cmd = new SqlCommand("SELECT Username,Password FROM UserDetails", con);
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        cmd.ExecuteNonQuery();
        con.Close();
        return ds;
    }

1 个答案:

答案 0 :(得分:0)

以下是您将要做的事情

  1. 使用visual studio开发服务器或IIS
  2. 托管WCF服务
  3. 现在,在WebApplication中,添加对此WCF服务的服务引用
  4. 现在,为服务创建一个客户端,然后使用客户端

    按如下方式调用WCF服务
    private void BtnLogin_Click(object sender, EventArgs e)
    {
        {
            using(var client = new ServiceClient())
            {
                // WCF specific credentials go here, if any
                string Username = txtUsername.Text; // username
                string Password = txtPassword.Text; // password
                var result = client.ValidateUserLoginCredentials(Username, Password);
                if(result){
                   // Login succeeded...
                }
            }
        }
     }
    
  5. WCF服务看起来像这样

      public class UserWCFService {
            public bool ValidateUserLoginCredentials(string userName, string password){
                 // Database call or  call to the data access layer goes here
            } 
        }