Безопасно ли устанавливать обработчик событий (или откладывать) ПОСЛЕ асинхронного вызова метода в C #?Например, следующее:
LoginOperation lo = WebContext.Current.Authentication.Login(new LoginParameters(UserName_Email.Text, UserPassword.Password));
lo.Completed += new EventHandler((object sender, EventArgs e) =>
{
if ((sender as LoginOperation).LoginSuccess)
{
//MessageBox.Show("Login Success");
this.DialogResult = true;
InitializeUserAccount(UserName_Email.Text);
}
else
{
MessageBox.Show("Login Failed");
}
});
В этом примере я устанавливаю обработчик события loginoperation ПОСЛЕ того, как я выполняю асинхронный вызов.Это всегда работает, но я не знаю, настроил ли я условие гонки?(и установка обработчика всегда побеждает в гонке).ИЛИ ... делать асинхронные вызовы, как-то отправленные после того, как текущий поток выполнения простаивает (или что-то в этом роде)?
Я делаю это для удобства чтения кода.Просто интересно, если я устроюсь здесь ...