2009-09-04 3 views
80

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

Невозможно сделать запрос о состоянии сеанса в состояние сеанса сервера.
Убедитесь, что служба состояния ASP.NET запущена и что порты клиента и сервера совпадают.
Если сервер находится на удаленном компьютере , убедитесь, что он принимает удаленные запросы на , проверяя значение HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ 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, и в настоящее время она запущена и в автоматическом

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

ответ

7

Убедитесь, что:

stateConnectionString="tcpip=server:port" 

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

+0

У меня такая же проблема. Убедитесь, что моя служба состояния сеанса работает правильно, но все равно получает одно и то же сообщение. Вот мой параметр web.config: lstanczyk

215

1) Пуск-> Администрирование -> Службы

2) щелкните правой кнопкой мыши над государственную службу ASP.NET и нажмите «Запустить»

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

Для получения более подробной информации вы можете проверить мой блог: http://jamshidhashimi.com/unable-to-make-the-session-state-request-to-the-session-state-server/

+0

Иногда я обнаружил, что он работает только после перезапуска государственной службы ASP.NET пару раз! –

+0

Простой маршрут. скопируйте и вставьте 'services.msc' в начало -> Поиск и перейдите непосредственно к услугам –

+1

Работа Как очарование для меня – Arun

20

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

+0

@hikkenmikke Как вы можете проверить и изменить HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection – Pomster

+0

@Pomster http://pcsupport.about.com/od/termsr/p/registrywindows.htm –

2

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

0

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

1

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

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

0

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

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

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

1

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

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