Xamarin Facebook GraphRequest 死锁
Xamarin Facebook GraphRequest Deadlock
我试图从 Facebook 用户加载一些信息,但似乎我遇到了调用此代码的死锁。有什么问题吗?
public Task<Page<T>> LoadGraphRequest<T>(User user, string edge, Dictionary<string, string> parameters)
{
var tcs = new TaskCompletionSource<Page<T>>();
//NSDictionary.FromObjectsAndKeys(parameters.Values.ToArray(), parameters.Keys.ToArray())
var request = new GraphRequest($"{user.FacebookID}/{edge}", null);
request.Start((connection, result, error) =>
{
//Callback never called
try
{
if (error == null && result != null)
{
//load Page<T> from Result
//tcs.SetResult(page);
}
else {
tcs.SetResult(null);
}
}
catch (Exception ex)
{
Console.WriteLine($"GraphRequest Error: {ex.Message}");
tcs.SetResult(null);
}
});
return tcs.Task;
此代码有效。
我认为这是由于一些编译错误。
我删除了 Bin 和 Obj 文件夹。
我试图从 Facebook 用户加载一些信息,但似乎我遇到了调用此代码的死锁。有什么问题吗?
public Task<Page<T>> LoadGraphRequest<T>(User user, string edge, Dictionary<string, string> parameters)
{
var tcs = new TaskCompletionSource<Page<T>>();
//NSDictionary.FromObjectsAndKeys(parameters.Values.ToArray(), parameters.Keys.ToArray())
var request = new GraphRequest($"{user.FacebookID}/{edge}", null);
request.Start((connection, result, error) =>
{
//Callback never called
try
{
if (error == null && result != null)
{
//load Page<T> from Result
//tcs.SetResult(page);
}
else {
tcs.SetResult(null);
}
}
catch (Exception ex)
{
Console.WriteLine($"GraphRequest Error: {ex.Message}");
tcs.SetResult(null);
}
});
return tcs.Task;
此代码有效。 我认为这是由于一些编译错误。 我删除了 Bin 和 Obj 文件夹。