【发布时间】:2016-06-20 13:43:34
【问题描述】:
我有一个执行以下操作的函数:
public class UserClass
{
public static CurrentUserData GetUserInfo()
{
CurrentUserData ui;
ui = GetUserData();
return ui;
}
}
我的 CurrentUserData 对象如下:
public class CurrentUserData
{
public bool ReadOnly{get;set;}
}
在我的控制器中,我调用了我的方法并且可以很好地看到 ReadOnly 属性:
var user = UserClass.GetUserInfo();
if (user.ReadOnly)
{
////code to execute
}
我必须向我的函数添加一个异步调用,现在它看起来像这样(为简洁起见,我省略了代码):
public static Task<CurrentUserData > GetUserInfo()
{
Task<CurrentUserData > ui;
ui = GetUserData();
HttpResponseMessage response = await httpClient.SendAsync(request);
return ui;
}
注意我必须添加的任务。但是当我像以前一样在控制器中调用该方法时,我得到了错误:
Error CS1061 'Task<CurrentUserData >' does not contain a definition for
'ReadOnly' and no extension method 'ReadOnly' accepting a first argument of
type 'Task<CurrentUserData >' could be found (are you missing a using directive or
an assembly reference?)
我需要更改什么,以便当任何类调用我的新 Task 方法时,它会看到包裹在 Task 中的对象的所有属性?
【问题讨论】:
-
你需要去async all the way。您需要使所有功能一直异步到控制器。
标签: c# asp.net-mvc