#asp.net #session #redirect #iis-7 #response
#asp.net #сессия #перенаправление #iis-7 #ответ
Вопрос:
У меня есть asp.net приложение, использующее ajax. Я хочу иметь возможность передавать данные с одной страницы на другую, поэтому я сохраняю то, что хочу, в переменной сеанса и перенаправляю ответ на целевую страницу, где я извлекаю то, что хочу, для дальнейшей обработки. Я использую:
Response.Redirect(path, false)
Все работает нормально, пока я не попытаюсь опубликовать на своем промежуточном сервере iis7. Моя переменная сеанса всегда возвращает пустоту. Но если я попытаюсь перейти на страницу изнутри самого сервера iis (щелкнув правой кнопкой мыши на странице в iis и нажав «Исследовать»), это работает хорошо, и значение переменной сеанса сохраняется. Это происходит только тогда, когда я обращаюсь к приложению iis из своего браузера. Все остальное работает хорошо, например, загрузка страниц, элементы управления, перенаправление. Это всего лишь то, что переменные сеанса приводят к пустоте.
Ответ №1:
Это может произойти, когда пул приложений неправильно настроен, например, если вы задаете количество рабочих процессов более одного.
Другой распространенной причиной этой проблемы является то, что имя сервера содержит символы подчеркивания (например, DEV_TEST). Символы подчеркивания не допускаются в качестве имен хостов и могут помешать установке файлов cookie.
Комментарии:
1. Ты потрясающий. Мой сервер на самом деле называется именно так!!
2. Вау, каковы шансы? Рад, что вы с этим разобрались.