通过 Web 服务恢复函数并存储在变量中的结果
本文关键字:变量 结果 存储 Web 服务 恢复 函数 通过 | 更新日期: 2023-09-27 18:32:33
我想得到这个方法的结果:布尔身份验证(字符串日志,字符串传递)和此方法e:字符串角色(字符串日志,字符串传递)来测试身份验证这就是我所做的:
private void bntValideAuthen_Click(object sender, RoutedEventArgs e)
{
client.AuthentificationCompleted += client_AuthentificationCompleted;
client.RoleCompleted += client_RoleCompleted;
ServiceConsum.Service1Client client = new ServiceConsum.Service1Client();
string rol=client.RoleAsync(txtLogin.text,txtpass.text);
bool auth = client.AuthentificationAsync(txtLogin.text,txtpass.text);
if((auth==true)&&(role=="admin"))
{
NavigationContext.Equals(new Uri("/Views/admin/starAdmin.xaml", UriKind.Relative));
}
else
{
message.BOX("error");
}
}
它给出了这个错误:不能将类型"void"隐式转换为"字符串"
以下代码启动异步调用 - 它不返回字符串 - 它是一个 void 方法 - 这是你的错误。
client.RoleAsync(txtLogin.text,txtpass.text)
您将得到结果作为方法 client_RoleCompleted 的参数。您已使用以下代码订阅了角色已完成事件:
client.RoleCompleted += client_RoleCompleted
解决方案是:在第二个事件中添加胎面,例如:
void client_RoleCompleted(object sender, RoleCompletedEventArgs e) {
role = e.Result.ToString();
Thread.Sleep(1000);
}