Итак, я работаю над приложением Windows 8 с некоторыми асинхронными методами. В одном конкретном месте мне нужно приложение, чтобы дождаться завершения асинхронного метода, но, похоже, он не отправляет состояние EventHandle.Что-то не так с моим EventWaithandle, оно не меняется на сигнализацию?
Вот методы, которые должны работать вместе:
public class Film : Page
private User loggedinUser = new User();
private EventWaitHandle handle = new AutoResetEvent(false);
private dynamic parameters;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.parameters = e.Parameter;
LoadFacebookData(parameters);
handle.WaitOne();
LoadUserMovies(loggedinUser.UserName);
}
private async void LoadFacebookData(dynamic parameter)
{
//async code that gets info from facebook whichs determines what user is logged in
handle.Set();
}
private void LoadUserMovies(string username)
{
// irrelevant code
}
момент код попадает в handle.WaitOne()
немного, он перестает полностью
Выполняет ли выполнение обращение к строке 'handle.Set();'? – AgentFire
Если вы используете ключевое слово 'async', почему вы просто не ждёте LoadFacebookData (parameters);' вместо использования обработчиков wait? – AgentFire