0
これは、ユーザ名とパスワードSilverlightの有効WCFサービス再調整値
[OperationContract]
public bool LoginCheck(string username, string password)
{
RoadTransDataContext db = new RoadTransDataContext();
var _Pass = (from d in db.users where d.username == username select d.password).SingleOrDefault();
if (_Pass == password)
{
return true;
}
else
{
return false;
}
}
をチェックし、これが
private void LoginCheckCompleted(object sender, ServiceReference.LoginCheckCompletedEventArgs e)
{
_Log = e.Result;
}
private void OKButton_Click(object sender, RoutedEventArgs e)
{
ServiceReference.ServiceClient webservice = new ServiceReference.ServiceClient();
webservice.LoginCheckCompleted += new EventHandler<ServiceReference.LoginCheckCompletedEventArgs>(LoginCheckCompleted);
webservice.LoginCheckAsync(txtUserName.Text, txtPassword.Password);
if (_Log == true)
{
this.DialogResult = true;
this.Close();
}
}
問題はOKButton_Click
メソッドが終了したときにLoginCheckCompleted
メソッドが呼び出していることである子ウィンドウである私のサービスです。正しいユーザー名を入力したら、パスしてボタンを押しても何もしません。もう一度クリックするとウィンドウが閉じます。
ところで、サービスメソッドのコードサイズを減らすことができます: 'return db.users.Where(d => d.username == username && d.password ==パスワード).Any(); ' – vorrtex