Состояние сеанса может использоваться только тогда, когда для параметра enableSessionState установлено значение true либо в конфигурации

Я работаю над Asp.net MVC 2 с помощью c # с помощью vs 2010. У меня есть упомянутая ниже ошибка при запуске моего приложения локально в режиме отладки.

Изображение с сообщением об ошибке выглядит следующим образом:

введите описание изображения здесь

Текст сообщения об ошибке выглядит следующим образом:

Состояние сеанса может использоваться только тогда, когда для параметра enableSessionState установлено значение true, либо в файле конфигурации, либо в директиве «Страница». Также убедитесь, что System.Web.SessionStateModule или пользовательский модуль состояния сеанса включен в раздел \\ в конфигурации приложения.

Что я сделал для выяснения этой проблемы, как показано ниже:

Попробуйте 1: файл web.config был изменен, как показано ниже:

      </system.webServer 

Попробуйте 2, как показано ниже:

введите описание изображения здесь

Но, к сожалению, у меня такая же проблема, о которой я упомянул выше.

ОБНОВИТЬ

введите описание изображения здесь

У вас есть решение для этого?

Включили ли вы состояние сеанса в этом разделе?

     

Или вы добавили это на страницу?

  <%@Page enableSessionState="true"> 

И вы подтвердили, что запущена ASP.NET Session State Manager Service ? На скриншоте это не так. Он установлен в режим запуска Manual который требует, чтобы вы запускали его каждый раз, когда хотите его использовать. Чтобы запустить его, выделите службу и нажмите зеленую кнопку воспроизведения на панели инструментов. Чтобы запустить его автоматически, отредактируйте свойства и настройте тип запуска.

Или установите свойство режима InProc в InProc , чтобы государственная служба не требовалась.

     

Проверьте MSDN для всех доступных вам параметров в отношении хранения данных в состоянии сеанса ASP.NET .


Примечание. Лучше, чтобы ваш controller получил значение из сеанса и добавил значение в модель для вашей страницы / элемента управления (или в ViewBag), таким образом, представление не зависит от HttpSession, и вы можете выбрать другой источник для этого элемента позже с минимальными изменениями кода. Или даже лучше, не использовать состояние сеанса вообще . Он может убить вас, когда вы используете много асинхронных вызовов javascript.

также, если вы используете SharePoint и сталкиваетесь с этой ошибкой, не забудьте запустить

 Enable-SPSessionStateService -DefaultProvision 

или вы продолжите получать вышеуказанное сообщение об ошибке.

Фактически jessehouwing дал решение для нормального сценария.

Но в моем случае я включил 2 типа сеанса в web.config file

Это как внизу.

Первый :

     

Второй :

      

Поэтому в моем случае я должен прокомментировать Второе. Это то, что нужно для производства. Когда я прокомментировал вторую, моя проблема исчезла.

Я хочу, чтобы все знали, что иногда эта ошибка просто является результатом какой-то странной ошибки памяти. Перезагрузите компьютер и вернитесь в визуальную студию, и он исчезнет! Bizarre! Попробуйте это, прежде чем начинать играть со своим файлом веб-конфигурации и т. Д., Как я сделал !!!! 😉

В моем случае проблема исчезла просто с помощью HttpContext.Current.Session вместо Session

Я понимаю, что есть принятый ответ, но это может помочь людям. Я обнаружил, что у меня была аналогичная проблема с сайтом ASP.NET с использованием среды NET 3.5 при ее запуске в Visual Studio 2012 с использованием IIS Express 8. Я пробовал все вышеупомянутые решения, и никто не работал – в конце концов, встроенный веб-сервер VS 2012. Не знаю, почему, но я подозреваю, что это была связь между 3.5 framework и IIS 8.

Для SharePoint Можете найти файл веб-конфигурации в каталоге C: \ inetpub \ wwwroot \ wss \ VirtualDirectories \ Sitecollection, и внести изменения

     

и с помощью командной консоли SharePoint выполните команду ниже

  Enable-SPSessionStateService -DefaultProvision 

После ответа снизу данный путь работал нормально.

Я нашел решение, которое отлично работало! Добавьте в web.config следующее:

        

Надеюсь, это поможет кому-то еще!

У меня есть эта ошибка только при отладке приложения ASP .Net.

У меня также был Session["mysession"] вид переменных, добавленных в мой Watch of Visual Studio.

проблема была решена. Однажды я удалил переменные сеанса с экрана.

  1. Может быть, ваш скайп перехватывает ваши запросы на 80 портах, в настройках Skype отключены
  2. Или ваш IE имеет подключение, проверенное для прокси-сервера, когда нет прокси-сервера
  3. Или ваш скрипач может перехватить и действовать как прокси, снимите его!

Решает вышеупомянутую проблему, она решила мою!

HydTechie

Эта ошибка была поднята для меня из-за необработанного исключения, созданного функцией конструктора Public Sub New() (Visual Basic) на веб-странице в коде.

Если вы реализуете функцию конструктора, оберните код в оператор Try / Catch и посмотрите, разрешает ли он проблему.

Состояние сеанса может быть нарушено, если в Web.Config указано следующее:

    

Если это так, вы можете захотеть прокомментировать такой раздел, и вам не понадобятся какие-либо другие изменения, чтобы исправить эту проблему.

  • Как поддерживать оба vcxproj в cmake в проекте?
  • Приложение WPF из Visual Studio 2010 выходит из строя Windows 7
  • Не удалось найти запрошенный поставщик данных .Net Framework в Visual Studio 2010 Professional
  • MVCBuildViews работают неправильно
  • Не удалось инициализировать систему конфигурации
  • Невозможно получить значение local или argument, поскольку оно недоступно в этом указателе инструкции, возможно, потому, что оно было оптимизировано
  • Проект MVC по ошибке VS2010: тип проекта не поддерживается этой установкой
  • Как я могу использовать PowerShell с командной строкой Visual Studio?
  • Общая информация AssemblyInfo для единообразного управления версиями в решении
  • Ограничения на установку расширений или надстроек в Visual Studio 2010 Express
  • MSBuild в решении TeamCity для Visual Studio 2012
  • Давайте будем гением компьютера.