Luffy1
@Luffy1
Студент, Junior .NET programmer

Почему в веб-приложении, на странице, выводиться 8, а не 4?

Код метода Configure класса Startup:
public void Configure(IApplicationBuilder app)
    {
      int x = 2;
      app.Run(async (context) =>
      {
        x = x * 2;  //  2 * 2 = 4
        await context.Response.WriteAsync($"Result: {x}");
      });
    }

По идее, мы ожидаем 4, но на странице выводиться 8: https://metanit.com/sharp/aspnet5/pics/middlewarel...
Почему? Это связано с асинхронностью? Или с тем, сколько запросов посылает браузер?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
@none7
Это связано с тем, что анонимный метод вызывается дважды. Один раз для логов, второй для отправке клиенту. Не записывайте в переменные родительского метода ничего.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы