我有这个错误:"不能在我的服务实现代码中隐式地将类型'bool'转换为'system.threading.tasks.task bool'".你能纠正我的代码吗?
public Task<bool> login(string usn, string pwd)
{
DataClasses1DataContext auth = new DataClasses1DataContext();
var message = from p in auth.Users
where p.usrName == usn && p.usrPass == pwd
select p;
if (message.Count() > 0)
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
Ram*_*usa 15
您需要具体说明是否要将此操作异步发生.
作为一个例子Async Operation:
public async Task<bool> login(string usn, string pwd)
{
DataClasses1DataContext auth = new DataClasses1DataContext();
var message = await (from p in auth.Users
where p.usrName == usn && p.usrPass == pwd
select p);
if (message.Count() > 0)
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
如果您不需要它作为异步操作,请尝试以下操作:
public bool login(string usn, string pwd)
{
DataClasses1DataContext auth = new DataClasses1DataContext();
var message = from p in auth.Users
where p.usrName == usn && p.usrPass == pwd
select p;
if (message.Count() > 0)
{
return true;
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
注意:
async并且await与.net 4.5和C#5.0及更高版本兼容
如果添加Task.FromResult,即使您的方法不是,也可以将其伪装成编译和工作async.在将Identity(这就是所有async)连接到传统后端时,我必须这样做.
例:
public override Task<bool> IsEmailConfirmedAsync(string userId)
{
var profile = UserProfileType.FetchUserProfile(AtlasBusinessObject.ClientId.ToString(), decimal.Parse(userId));
Task.FromResult(profile.EmailAddress.NullIfEmpty() != null);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26662 次 |
| 最近记录: |