-1

Я пытаюсь использовать async и жду в asp.net. для простоты моя цель - вызвать метод асинхронно и после возврата, обновить данные в ярлыке в пользовательском интерфейсе. Вот Default.aspxasync и ждут не работает

<form id="form1" runat="server"> 
     <div> 
      <asp:Button runat="server" Text="click me" OnClick="asyncbtn_Click" id="asyncbtn" /><br /> 
      <asp:TextBox runat="server" /><br /> 
      <asp:Label runat="server" Text="[Result label]" ID="resultLabel"/> 
      <asp:Label runat="server" Text="[Result label]" ID="Label1"/> 
     </div> 
    </form> 

код за файл ...

protected void asyncbtn_Click(object sender, EventArgs e) 
     { 
      RegisterAsyncTask(new PageAsyncTask(DoSomethingAsync)); 
     } 

     public async Task<int> DoSomethingAsync() 
     { 
      await Task.Delay(10000); 
      resultLabel.Text = 20.ToString(); 
      await Task.Delay(5000); 
      Label1.Text = 30.ToString(); 
      return 0; 
     } 

Так что, когда я нажимаю на кнопку, мой браузер ждать, пока весь метод DoSomethingAsync завершена. поэтому я считаю, что это станет синхронизирующим вызовом, а не асинхронным.

Может ли кто-нибудь сказать мне, что здесь не так.

ответ

0

Async и Await используются для обработки нескольких веб-запросов параллельно. Эти методы входят, как только запрос достигает сервера и начинает конкурировать с другими входящими веб-запросами.

Не следует ошибочно принимать за асинхронный веб-запрос. Этого можно достичь с помощью ajax.

Смежные вопросы