【发布时间】:2014-05-05 18:20:38
【问题描述】:
我不知道如何在单个方法中运行多个等待方法。例如我的代码如下:
public static async Task<bool> Authenticate()
{
bool authen = false;
string message = String.Empty;
try
{
session = await FacebookSessionClient.LoginAsync("user_about_me,read_stream");
fbAccessToken = session.AccessToken;
fbFacbookID = session.FacebookId;
await saveProfile(fbFacebookID); //error here,my app is closed at here
authen = true;
}
catch (InvalidOperationException e)
{
authen = false;
}
return authen;
}
我有方法保存配置文件
public async static void saveProfile(string fbFacbookID)
{
string response = string.Empty;
if (!string.IsNullOrEmpty(fbFacbookID))
{
response=await StaticClass.getJsonStream(string.Format("http://graph.facebook.com/{0}", fbFacbookID));
JObject _object = JObject.Parse(response);
SaveValueSetting("usernameFB",(string)_object["username"]);
}
else
{
return;
}
}
但是我不能运行method?那么我该如何解决呢?
【问题讨论】:
-
为什么不能运行
method?有例外吗?编译器错误?请包括method1和method2的定义。 -
把
async放在public之后,在被调用的方法名后面加上()。 -
修复示例代码。你没有调用方法。
-
@Euphoric,@Nico Schertler:我刚刚编辑,请再次查看
-
saveProfile可能会抛出异常。您是否已单步执行代码并检查一切是否正常?
标签: c# async-await