TempData очищается после вызова метода RedirectToAction. Сессия тоже пуста. Я использую ASP. Net MVC 5 - PullRequest
0 голосов
/ 09 января 2020

У меня проблема с TempData в MVC5. Я знаю, что могу использовать TempData в последовательности запросов. Однако после того, как я сделаю RedirectToAction, мои TempData, а также Session будут пусты. Я использую конфигурацию удостоверений личности. Я думаю, что что-то не так с моей конфигурацией сеанса. Но я не знаю, где искать эту конфигурацию.

Я поделюсь некоторыми примерами кода. Может быть, я делаю что-то не так, и вы можете помочь мне с этим.

Итак, у меня есть ParliamentController.cs. Внутри этого контроллера у меня есть методы:

[HttpGet]
public ActionResult Politicians()
{
      var publishInfo = TempData["Info"];
      var sessionInfo = Session["Info"];

      return View(new Config());
}

[HttpPost]
public ActionResult PublishConfig()
{      
      TempData["Info"] = "publish error";
      Session["Info"] = "session info";
      return RedirectToAction("Politicians", "Parliament", new { area = "Admin" });
}

Кроме того, у меня есть Politicians.cs html

, который имеет эту разметку:

@using (Html.BeginForm("PublishConfig", "Parliament", FormMethod.Post, new { area = "Admin" }))
{
      <input type="submit" value="Publish config"/>
}

И вот некоторые фотографии отладки:

Method post Method get with empy TempData and Session

Любая помощь будет оценена. Если вам нужна дополнительная информация, просто дайте мне знать.

Обновление: Похоже, что проблема воспроизводима только для браузера Google Chrome. Хотя режим инкогнито в google chrome работает хорошо.

Я думаю, что нашел решение. Проблема была в протоколе http. Я пробовал под https, и все работает, как ожидалось. Эта статья помогла мне найти решение https://www.petefreitag.com/item/857.cfm

...