it-roy-ru.com

Невозможно сделать запрос состояния сеанса серверу состояний сеанса

Наш сайт в настоящее время имеет эту проблему. По сути, это происходит только тогда, когда мы нажимаем на определенные ссылки, где появляется новое окно.
Это сообщение об ошибке, которое мы получаем:

Невозможно сделать запрос состояния сеанса серверу состояний сеанса . 
Убедитесь, что служба состояния ASP.NET запущена и что порты клиента и сервера одинаковы. 
Если сервер находится на удаленный компьютер, убедитесь, что он принимает удаленные запросы по проверка значения HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Параметры\AllowRemoteConnection . 
Если сервер находится на локальном компьютере, и если раньше указанное значение реестра не существует или имеет значение 0, затем состояние Строка подключения к серверу должна использовать «localhost» или «127.0.0.1» в качестве имя сервера.

целевой сайт:
Пустота MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)

это webconfig, который содержит тег sessionstate:

<sessionState mode="StateServer" timeout="45" />

Я проверил ASP.NET State Service, и в настоящее время он запущен и настроен на автоматический

Я установил в реестре, указанном в сообщении об ошибке, 1, но все еще не работает.

93
Adi
  1. Пуск–> Администрирование -> Услуги
  2. Щелкните правой кнопкой мыши на ASP.NET State Service и нажмите «Пуск»

Кроме того, вы можете установить службу автоматически, чтобы она работала после перезагрузки

253
Jamshid Hashimi

Если вам нужно изменить HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection на 1, не забудьте restart службу ASP.net state после изменения параметра. 

23
hikkemikke

Проверь это:

stateConnectionString="tcpip=server:port"

верно. Также убедитесь, что порт по умолчанию (42424) доступен, и в вашей системе нет firewall, который блокирует порт в вашей системе.

8
mas_oz2k1

Введите Services.msc в панели запуска окна запуска Windows. Это перечислит все службы Windows в нашей системе. Теперь нам нужно запустить Asp .net State service, как показано на рисунке .  enter image description here

Ваша проблема будет решена.

3
Rinoy Ashokan

Я обнаружил, что некоторые разработчики по какой-то причине определяют частный IP-адрес сервера вне IIS в неожиданном месте, например, в нестандартном конфигурационном файле (т.е. не в web.config) или текстовом файле. Это может привести к сбою внутренней работы, даже когда служба запущена, порты не заблокированы, правильные ключи и т.д.

В частности, Касея помещает файл с именем serveripinternal.txt в корневой каталог IIS сервера VSA. Я видел текст вашей ошибки, когда кто-то, управляющий своим собственным экземпляром Kaseya, изменил внутренний IP-адрес сервера. Сервер будет доступен, IIS ответит, и откроется страница входа в систему, но при указанном сообщении произойдет сбой входа. 

2
One-Note Pony

Еще нужно проверить, включен ли брандмауэр Windows, так как это может блокировать порт 42424.

2
jwanagel

У меня была такая же проблема, когда какая-то установка ASP.NET была повреждена. В этом случае они предлагают запустить aspnet_regiis -i -enable

1
Matthew Lock

Недавно я столкнулся с этой проблемой, и ни одно из предложенных решений не устранило ее. Проблема оказалась в чрезмерном использовании наборов данных, хранящихся в сеансе. В коде была ошибка, из-за которой размер сеанса увеличивался в 10 раз.

В блоге msdn есть статья, в которой также говорится об этом . http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

Я использовал функцию для написания пользовательских сообщений трассировки для измерения размера данных сеанса на работающем сайте.

0
Ahmed Mansour