проблема переноса сессии из Tomcat в ASP.Net - PullRequest
0 голосов
/ 14 ноября 2009

Я использую Tomcat для размещения JSP и IIS 7.0 для размещения aspx (C # + .Net 3.5 + VSTS 2008), и у меня возникла проблема с переносом сеанса со страницы JSP на страницу ASPX. Страница JSP находится в одном домене, а все остальные страницы ASPX - в другом домене. Проблема в том, что я не могу перенести сессию с веб-страницы aspx A на веб-страницу aspx B. Я хочу знать, что что-то не так.

Подробнее,

  1. У меня есть страница jsp, содержащая некоторые фреймы (для объединения содержимого), и один фрейм использует aspx веб-страницу A в качестве источника фрейма;
  2. На веб-странице aspx A в page_load я инициализирую сеанс и сохраняю переменную сеанса "customerID" в текущем сеансе;
  3. На веб-странице aspx A у меня есть ссылка на веб-страницу aspx B (A и B принадлежат одному веб-сайту IIS 7.0 на веб-сервере);
  4. Я считаю, что при загрузке страницы jsp сеанс веб-страницы A aspx будет правильно инициализирован в методе asp.net page_load, и содержимое страницы A может корректно отображаться в виде рамки на странице jsp;
  5. проблема в том, что когда пользователь щелкает ссылку веб-страницы B (на веб-странице aspx A) во фрейме внутри страницы jsp, веб-страница B не может инициализировать сеанс на шаге 4.

Разве по проекту сессия не может быть пройдена? Я путаюсь с тем, почему информация о сеансе не может быть передана со страницы aspx A на страницу aspx B, поскольку они оба принадлежат одному веб-сайту IIS 7.0?

Кстати: я проверил, что если я получаю доступ к веб-странице aspx A непосредственно в IIS 7.0 и затем нажимаю ссылку на страницу aspx B, чтобы получить доступ к странице B, сеанс может быть передан на страницу B.

1 Ответ

1 голос
/ 14 ноября 2009

Сеанс сохраняется для каждого домена приложений. В IIS вы можете иметь несколько пулов приложений, в которых размещены разные приложения ASP.NET на одном сайте. Приложение ASP.NET размещается в виртуальном каталоге, с которым связан пул приложений. Если страница A и страница B принадлежат разным пулам приложений в IIS, вы не можете совместно использовать сеанс между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...