Я очень, очень новичок в ASP. NET. Я пытаюсь сделать asyn c для обработчика веб-агента, который запускается on_click. Я прочитал в многочисленных ответах SO, что при нажатии на события async void
следует использовать.
Тем не менее, я продолжаю получать следующую ошибку, когда эта функция запускается по щелчку:
Асинхронная операция не может быть запущена в это время. Асинхронные операции могут быть запущены только внутри асинхронного обработчика или модуля или во время определенных событий в жизненном цикле страницы. Если это исключение произошло во время выполнения страницы, убедитесь, что страница помечена как <% @ Page Async = "true"%>. Это исключение также может указывать на попытку вызова метода «asyn c void», который обычно не поддерживается при обработке запроса ASP. NET. Вместо этого асинхронный метод должен возвращать задачу, а вызывающая сторона должна ожидать ее.
.ASPX
<asp:LinkButton ID="lbRunTask" OnClick="RunWebAgentTask_OnClick"
CommandArgument='<%#Eval("TaskId").ToString()%>' runat="server" Text="Run<br>Now">
C#
protected async void RunWebAgentTask_OnClick(Object sender, EventArgs e)
{
...
if (await WebAgent_RunTaskAsync(Task).ConfigureAwait(false))
{
... //do task
}
}
}
Как мне лучше всего справиться с этим asyn c? Я попытался попробовать async Task
, но также получил там ошибку и получил предупреждение о том, что при событиях щелчка следует использовать async void
несмотря на полученную ошибку.