2

Я читал много о теме, но я не получаю решение. Я пробовал все решения, опубликованные сообществом, но не успех.Затерянная переменная сеанса ASP IIS 6.0 до 7.5

Я переношу сайт с IIS 6.0 до 7.5. На сайте есть приложения ASP и ASP.NET, поэтому я установил два разных пула. Приложения ASP.NET работают без проблем.

Где у меня проблемы с приложениями ASP. Все приложения ASP используют другое приложение, целью которого является предоставление пользователю. Проблема заключается в том, что приложение-получатель создает переменную session ("accepted") и ее теряют при перенаправлении. Эта функция была применима к IIS 6.0

Я проследил проблему и подтвердил, что ошибка возникает при перенаправлении.

То, что я пытался и проверить, чтобы решить эту проблему:

  1. Свойства сессии

    • Enable Session State = True
    • Тайм-аут: 00:20:00
    • Настройки режима: В процессе
    • Cookie Settings = Use Cookies
    • Использовать хостинг формы идентичности олицетворения = проверены
  2. порта для доступа к сайту:: 8685

  3. Я также проверил веб-садоводство и он не включен, поскольку есть только один рабочий набор процесса.

прилагаю снимки экрана я считаю соответствующую

ASP SettingsSession State SettingsASP Pool Settings


Я закодирован страницу ASP, который показывает содержимое переменной сеанса. Перед перенаправлением переменная сеанса корректно создается, но когда происходит перенаправление, информация теряется.

прилагаю код моя политика предприятия позволит мне размещать:

response.write("Accepted: " & session("aceptado") & "<br>") 
response.write ("SQL: " & mySQL & "<br>") 
response.write("Accepted: " & session("aceptado") & "<br>") 
dim i,j 
j = Session.Contents.Count 
Response.Write("Session contents: " & j & "<br>") 
Response.Write("Contents: <br>") 
For Each i in Session.Contents 
    Response.Write(i & "<br>") 
Next 

Response.write("isNull: " & IsNull(Session) & "<br>") 
Response.write("¿Aceptado? " & Session("aceptado")) 

С кода выше, результат:

Session correctly created

Код для проверки состояния сеанса, как только перенаправление имеет место:

<%response.buffer = true 
%> 
<html> 
    <h1>test</h1> 
    <% 
     dim i,j 
     j = Session.Contents.Count 
     Response.Write("Session contents: " & j & "<br>") 
     Response.Write("Contents: <br>") 
     For Each i in Session.Contents 
      Response.Write(i & "<br>") 
     Next 
    %> 
    isNull: <%=IsNull(Session)%> <br> 
    ¿Aceptado?: <%=Session("aceptado")%><br> 
    incidencia : <%=Session("tipoincidencia")%><br> 
    usuario : <%=Session("usuario")%> 
</html> 

Resu л выполнения приведенного выше кода:

Test page

Перенаправление происходит между последними двумя изображениями

+0

Свойства 'Session State' абсолютно не влияют на классическое состояние сеанса ASP, оно специфично для ASP.Net * (поэтому в IIS 7 и выше оно находится в разделе ASP.Net) *. Похоже, что в свойствах сеанса ASP для параметра «Новый идентификатор в безопасном соединении» установлено значение «Истина», возможно ли протокол HTTP-протокола перенаправления HTTP-HTTPS? См. [Классическая сущность сеанса ASP между HTTP и HTTPS] (http://stackoverflow.com/a/23266202/692942). – Lankymart

+0

Протокол переключения HTTP-HTTPS не выполняется. Я попытался изменить «Новый идентификатор в безопасном соединении» на False, но нет никакой разницы. – Carlos

+1

Оцените все сделанные вами скриншоты, но без какого-либо кода * (особенно там, где вызывается перенаправление) * не может помочь. – Lankymart

ответ

0

Мой Обходной путь для этого является просто начать Ajax вызова каждый X (где X примерно половина времени, в течение которого сессия заканчивается, в моем случае 7.5 мин).

Это не супер чистый, но выполняет свою работу.

 Смежные вопросы

  • Нет связанных вопросов^_^