Я действительно не уверен, что ты делаешь неправильно.Я только что создал совершенно новое приложение MVC, используя VS2017.Я взял HomeController и добавил атрибут [SessionState(SessionStateBehavior.Disabled)]
.Затем я добавил следующий код в метод Index:
public ActionResult Index()
{
this.ViewBag.Start = DateTime.Now;
System.Threading.Thread.Sleep(5000);
this.ViewBag.End = DateTime.Now;
return View();
}
На мой взгляд, я добавил:
<div class="row">
<div class="col-xs-6">Start: @this.ViewBag.Start.ToString("HH:mm:ss.fffffff")</div>
<div class="col-xs-6">End: @this.ViewBag.End.ToString("HH:mm:ss.fffffff")</div>
</div>
Теперь я запустил приложение, открыл две вкладки изагрузил их одновременно.В результате получилось:
Tab1: Start: 21:10:41.3620017, End: 21:10:46.3623676
Tab2: Start: 21:10:42.4819327, End: 21:10:47.4824334
Итак, вы можете легко видеть, что они обрабатываются одновременно.
Я имел именно этот вариант использования в различных моих приложениях уже несколько лет, иэто работало нормально.[Authorize]
также не должен учитывать сериализованную обработку, как я делаю это в своих приложениях, и у меня никогда не было проблем там.
Я также пробовал это с вашим кодом (с циклом for, измененным наThread.Sleep) и проверка подлинности Windows.Работает как надо.В других моих проектах я обычно использую проверку подлинности с помощью форм, и у меня никогда не было с ней проблем.Какую аутентификацию вы используете?