C # ASP.NET TempData работал, но сейчас он не на 2 из 3 компьютеров - PullRequest
0 голосов
/ 14 октября 2018

Я работаю над проектом .net Core MVVC, разработанным в VS Community 2017 и использующим IIS Express 10, и у меня возникают проблемы с тем, что TempData не работает на двух из трех компьютеров, на которых я работаю.В какой-то момент это сработало на всех трех.

Я использую TempData для хранения информации во время перенаправлений, а затем переносу TempData в ViewData для отображения на странице просмотра.У меня были проблемы с чем-то (я не помню, что это было сейчас), и мне помогал коллега, и во время его устранения неполадок всплыло окно с сообщением о SSL, и я не помню, что он нажал, но с тех порTempData перестал работать.Одна вещь, которую он сделал не так, как я, была в верхней части области отладки, он щелкнул раскрывающийся список IIS Express и вместо этого выбрал опцию имени проекта.TempData теперь отображается как null после перенаправления.Когда я открываю проект на своем домашнем компьютере, TempData работает без проблем.У меня есть третий компьютер, на котором я занимаюсь какой-то разработкой, и он работал на нем до тех пор, пока на нем не появилось окно SSL и он не перестал работать.Я предполагаю, что он перенаправляет на нужную мне страницу, но делает пит-стоп где-то по пути и данные теряются.

Я попытался удалить и переустановить VS и IIS Express без изменений.Я также попытался удалить папку .vs в решении без изменений.Я попытался очистить веб-сайты с помощью команды IIS Express в командной строке.Я также попробовал это и в Chrome (где это раньше работало) и в Internet Explorer без изменений.Я попытался запустить его с отладкой и без отладки без изменений.

Итак, TempData больше не работает на двух компьютерах (и Windows 10, если это имеет значение), и мой домашний компьютер (Windows 7) работает просто отлично.У кого-нибудь есть идеи?

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Наконец, я нашел ответ на https://github.com/aspnet/Mvc/issues/8233

. Чтобы исправить проблему, я изменил свой Startup.cs file так, чтобы app.UseCookiePolicy(); был помещен после app.UseMvc();.Я не знаю, почему это влияет только на один из моих компьютеров, но это решает проблему.

0 голосов
/ 28 октября 2018

при внимательном рассмотрении вашего вопроса, сначала

"сотрудник и во время его устранения неполадок выскочил ящик и что-то сказал о SSL, и я не помню, что он нажал"

mybe ваш коллега включил ssl в среде разработки, и после запуска проекта вы должны доверять локальному сертификату IIS.

Я думаю, вам нужно настроить cookie для использования SSL, например <httpCookies requireSSL="true" /> или вы можете отключить SSL для разработки, и все будет хорошо.

, чтобы убедиться, что вы можете проверить, что на домашнем компьютере ваш URL имеет HTTP, а на двух других компьютерах URL начинается с HTTPS.

С другой стороны, я предлагаю вам сравнить структуры web.config.

...