rtorkelson Ответов: 1

Проблема сеанса приложения Mvc при изменении url-адреса


Мне нужно изменить url-адрес для проекта MVC. Код, выполняемый в частичных представлениях, хранит пользовательские данные в сеансе.
Когда я изменяю url-адрес IIS Express с http://localhost:65000/ to http://localhost:65000/test, другие частичные представления, которые видели переменную сеанса, видят ее как null. Если я снова изменю url-адрес, он снова будет работать нормально.
Полагаю, я упускаю что-то очевидное.

Спасибо

Что я уже пробовал:

Измененные настройки сеанса web. config не имеют никакого эффекта

Sunasara Imdadhusen

Не могли бы вы поделиться немного кода, как вы получаете доступ к вашей сессии в приложении?

rtorkelson

Я воспроизвел эту проблему с новым проектом MVC.
Конфигурация маршрута по умолчанию - домашний индекс. _Layout.cshtml имеет меню по умолчанию, замененное частичным представлением в области меню MenuController _Menu partialviewresult метод, который возвращает viewmodel, содержащий неупорядоченный список пунктов меню. Это также Html-код, закодированный в сеансе.
Viewmodel заполняет @Html.Необработанный объект в _Menu.cshtml.
_Layout.cshtml имеет скрипт, который делает вызов Ajax из функции в $(document).Готов в метод подменю в MenuController, где код использует загруженное меню сеанса для дальнейшей обработки.
В этом коде меню сеанса заполняется, когда параметры проекта не имеют пути после localhost:port в url-адресе проекта, но имеет значение null, когда url-адрес проекта имеет значение типа http://localhost:port/Test

Я надеюсь, что это описание поможет прояснить мой вопрос.

1 Ответов

Рейтинг:
0

Vignesh Mani

Привет, вам нужно установить начальную страницу в RouteConfig.cs. Он находится в App_Data.

В вашем URL-адресе отсутствует имя контроллера.