Ошибочная сессия использования в IIS 7

После развертывания моего веб-сайта к IIS я получаю следующее сообщение об ошибке при попытке получить доступ к сессии:

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

Я получаю доступ к нему в Page_Load или PreRender события (я попробовал обе версии). С Visual Studio Сервер Dev это работает без проблемы. Я попробовал обоих InProc SessionState устройство хранения данных, 1 и несколько рабочих процессов. Я добавил a enableSessionState = "true" к моей веб-странице явно. Вот часть web.config:


    
    
        
            
            
            
            
            
            
            
        
    
    
        
            
            
        
    
    
        
        
        
        
    
    
        
        
        
    
    
    

Что еще я должен сделать, чтобы заставить его работать?

Я пытался контролировать, если IIS получает доступ aspnet_client папка с Монитором Процесса и не получила доступа.

5
задан Peter Mortensen 18 August 2012 в 17:41
поделиться

6 ответов

Решение оказалось очень любопытным. Хотя в описании ошибки IIS7 jn WIndows 2008R2 сказано добавить SessionStateModule в раздел system.web, его следует добавить в раздел system.webServer.

<system.webServer>
    <modules>
        <remove name="Session" />
        <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </modules>
</system.webServer>
9
ответ дан 14 December 2019 в 01:03
поделиться

Сеансы должны работать в простом, пустом приложении. То есть все значения по умолчанию должны работать.

Если он не работает с базовыми тестовыми приложениями, возможно, IIS перепутали с вашим приложением.

Попробуйте удалить приложение IIS. Затем создайте новый виртуальный каталог, перезапустите IIS и снова добавьте свое приложение.

Также дважды проверьте настройки ASP.Net вашего приложения. Убедитесь, что установлена ​​правильная версия ASP.Net.

Во время поиска я также наткнулся на ...

http://ramonaeid.spaces.live.com/blog/cns!A77704F1DB999BB0!181.entry

Надеюсь, это поможет.

0
ответ дан 14 December 2019 в 01:03
поделиться

Убедитесь, что служба "ASP.NET State Service" запущена, а затем добавьте это в ваш web.config.

<sessionState mode="InProc" server="127.0.0.1" port="42424" ... > 

Ссылка:

http://msdn.microsoft.com/en-us/library/ms972429.aspx
http://msdn.microsoft.com/en-us/library/h6bb9cz9(VS.71).aspx

Комментарий:
Возможно, лучше вручную изменить порт на что-то другое. Это можно сделать с помощью regedit.

HKLM\Syste\CurrentControlSet\Services\aspnet_state\Parametres\Port -> 42424

Some more infos:

http://msdn.microsoft.com/en-us/library/ff648667.aspx

0
ответ дан 14 December 2019 в 01:03
поделиться

Использовался ли этот конкретный сервер для чего-либо еще? Это сервер Windows 2008 и IIS7?

Я готов поспорить, что вам не хватает некоторых ролей сервера для IIS, вы проверили их, щелкнув правой кнопкой мыши «Компьютер», выбрав «Управление», перейдя к управлению ролями (оно находится в основном дереве в диспетчере компьютеров) и проверив установленные биты для IIS?

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

0
ответ дан 14 December 2019 в 01:03
поделиться

Какова структура ваших папок. Есть ли у вас веб-конфиги в более высокой папке, которые могли явно отключить это?

Если возможно, перерегистрируйте asp.net

Open Control Panel 
  Programs\Turn Windows Features on or off 
    Internet Information Services 
      World Wide Web Services 
        Application development Features 
          ASP.Net <-- check mark here 

ссылка: Как зарегистрировать ASP.NET 2.0 на веб-сервере (IIS7)?

0
ответ дан 14 December 2019 в 01:03
поделиться

Попробуйте добавить в раздел страниц в web.config следующий раздел:

<namespaces> 
   <add namespace="System.Web.SessionState" />
<namespaces/>
0
ответ дан 14 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: