Я пытаюсь использовать aysnc/wait, и у меня возникли проблемы с получением шага 1. Когда я запускаю следующий код, я ожидаю, что «myMethod» будет вызываться с переданным «Bob» и то на странице будет отображаться «Hello Bob». Ничего не происходит, когда я запускаю его. Я отлаживал его, и «myMethod» не вызывался.Действие, которое не выполняется в задаче
Что мне не хватает?
protected void Page_Load(object sender, EventArgs e)
{
Task.Factory.StartNew(() => myMethod("Bob")).ContinueWith(t => Label1.Text = t.Result, TaskScheduler.FromCurrentSynchronizationContext());
}
public string myMethod(string name)
{
Thread.Sleep(2000);
return "Hello " + name;
}
ASP.Net не работает так; ваш ответ уже подан. Вы хотите запустить клиент. – SLaks
Кроме того, вы должны быть осторожны, чтобы [никогда не использовать 'Task.Factory.StartNew', не переходя в планировщик задач] (http://blog.stephencleary.com/2013/08/startnew-is-dangerous.html), вы может легко случайно запустить код в планировщике, которого вы не намеревались. Вместо этого вы должны просто использовать 'Task.Run' (Не то, что использование' Task.Run' решит вашу проблему) –