0

だから私はウェブを閲覧しましたが、例を見つけることができませんでした。私は、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;
    }
4

1 に答える 1

0

これがあなたがすることです

  1. Visual Studio 開発サーバーを使用するか、IIS で WCF サービスをホストします。
  2. 次に、WebApplication で、この WCF サービスへのサービス参照を追加します。
  3. ここで、サービスのクライアントを作成し、クライアントを使用して次のように 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...
                }
            }
        }
     }
    

WCF サービスは次のようになります。

  public class UserWCFService {
        public bool ValidateUserLoginCredentials(string userName, string password){
             // Database call or  call to the data access layer goes here
        } 
    }
于 2013-06-14T16:37:16.857 に答える