Знатокам ASP и sessions
-
- Новичок
- Posts: 28
- Joined: 17 Jun 2003 04:41
Знатокам ASP и sessions
Имеется простая web программа на ASP / JScript в которой используются sessions для идентификации пользователя. При переходе со страницы на страницу иногда случайным образом сесси теряются.
Поиск на форумах через гугл и на микрософте дал массу подобных опубликованных вопросов и лишь несколько ответов.
Ответы были :
1) имя домена содержит подчеркивание. Нет, это не мой случай
2) сервер содержит антивируснуб программу, которая проверяет global.asa и изменяет его время создания в своих целях, что приводит к перезагрузке приложения. Тоже не мой случай.
3) ИЕ 5.0 5.5 6.0 имеют ошибку, которая теряет сессию если открыть новое окно с текущего приложения и опять закрыть. Похоже тоже не мой случай.
Есть ли еще какие идеи? Программа работала нормально и вдруг перестала (через каждые 5-10 переключений страниц сессия теряется). ISP клянется что ничего не менял на серваке в проследнее время.
Any help appreciated.
Поиск на форумах через гугл и на микрософте дал массу подобных опубликованных вопросов и лишь несколько ответов.
Ответы были :
1) имя домена содержит подчеркивание. Нет, это не мой случай
2) сервер содержит антивируснуб программу, которая проверяет global.asa и изменяет его время создания в своих целях, что приводит к перезагрузке приложения. Тоже не мой случай.
3) ИЕ 5.0 5.5 6.0 имеют ошибку, которая теряет сессию если открыть новое окно с текущего приложения и опять закрыть. Похоже тоже не мой случай.
Есть ли еще какие идеи? Программа работала нормально и вдруг перестала (через каждые 5-10 переключений страниц сессия теряется). ISP клянется что ничего не менял на серваке в проследнее время.
Any help appreciated.
-
- Уже с Приветом
- Posts: 1935
- Joined: 15 Sep 2003 17:49
- Location: Ukraine, Mariupol -> USA everywhere :-)
-
- Новичок
- Posts: 28
- Joined: 17 Jun 2003 04:41
2 Nemo:
> А странички все одни и те же?
Нет, потеря происходит на случайной страничке.
> Я бы порекомендовал посмотреть какие куки приходят.
Куки вообще-то не используются, только сессии. Или вы хотите сказать, что сессии реализованы через куки? А как их можно посмотреть?
> Сессию можно подавить для отдельно взятой странички.
Нет этого не делается нигде в коде,
2 shadow7256:
Нет load balancing не используется на сервере.
Видимо это очень частая проблема. Все ASP форумы переполнены криками о помощи о потере сессий и ни в одном нет толкового совета, что же это может быть.
> А странички все одни и те же?
Нет, потеря происходит на случайной страничке.
> Я бы порекомендовал посмотреть какие куки приходят.
Куки вообще-то не используются, только сессии. Или вы хотите сказать, что сессии реализованы через куки? А как их можно посмотреть?
> Сессию можно подавить для отдельно взятой странички.
Нет этого не делается нигде в коде,
2 shadow7256:
Нет load balancing не используется на сервере.
Видимо это очень частая проблема. Все ASP форумы переполнены криками о помощи о потере сессий и ни в одном нет толкового совета, что же это может быть.
-
- Удалён за грубость
- Posts: 5791
- Joined: 15 Mar 1999 10:01
- Location: с Родины
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
-
- Удалён за грубость
- Posts: 5791
- Joined: 15 Mar 1999 10:01
- Location: с Родины
shadow7256 wrote:Чулпан wrote:Или вы хотите сказать, что сессии реализованы через куки?
Естествеено
Можно реализовать сессии и через куки наверное, но зачем, если на сервере есть объект для каждого юзера Session в котором все и хранится и которой должен работать правильно. С куками на клиенте он никак не связан.. Хотя.. я вспоминая что есть в механизме какая то опция, позволяющая так работать, но чисто как опция, все должно прекрасно работать и без кук
"Имеешь одни часы - знаешь который час. Имеешь несколько - сомневаешься."
-
- Уже с Приветом
- Posts: 3759
- Joined: 11 Feb 2004 13:37
DmTs wrote:shadow7256 wrote:Чулпан wrote:Или вы хотите сказать, что сессии реализованы через куки?
Естествеено
Можно реализовать сессии и через куки наверное, но зачем, если на сервере есть объект для каждого юзера Session в котором все и хранится и которой должен работать правильно. С куками на клиенте он никак не связан..
IIS использует куку, для того, чтобы связать конкретного клиента с его сессионым объектом. В этой куке хранится SessionID.
HTTP - stateless protocol. Поэтому для реализаций сессий приходится использовать либо куки либо URL rewriting.
One small step for me ...One giant leap for.. A frog?
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
Code: Select all
<sessionState mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
....
Как видно есть 3 способа хранить информацию о сессиях, и в процессе это только один из них.
И как было указано, кука нужна для того что бы идентифицировать клиента. SessionID то как то клиентом должен передаваться серверу.
Никакой разрухи нет. (с) Проф. Преображенский.
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Все не про то.
Во-первых товарищ говорит об ASP, не ASP.NET
Сессия привязана к клиенту через куки в ASP
В ASP.NET можно без куки, но тогда в УРЛ будет добавлятся номер сессии.
99% проблем - настройки IIS и сервера.
Механизмы хранения сессии - это не причем. Если сервер теряет сессию (и клиент в этом не виноват) - надо настраивать сервер.
В ASP.NET проблема чаще всего когда другие пользователи на сервере напишут "крутого кода" и ASP.NET процесс начинает все подряд recycle чтобы этим дибилам места освободить
Во-первых товарищ говорит об ASP, не ASP.NET
Сессия привязана к клиенту через куки в ASP
В ASP.NET можно без куки, но тогда в УРЛ будет добавлятся номер сессии.
99% проблем - настройки IIS и сервера.
Механизмы хранения сессии - это не причем. Если сервер теряет сессию (и клиент в этом не виноват) - надо настраивать сервер.
В ASP.NET проблема чаще всего когда другие пользователи на сервере напишут "крутого кода" и ASP.NET процесс начинает все подряд recycle чтобы этим дибилам места освободить
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 180
- Joined: 03 Aug 2003 02:56
- Location: Kharkov -> San Diego -> Laguna Niguel, CA -> Aliso Viejo, CA
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Spechtus wrote:A little bit of Offtopic:
In my opinion the best thing to do is to turn off sessions in IIS and create your own mechanism of tracking users (using cookies + DB). We switched to that mechanism in our new web app release - nobody seems to regret about it :)
Ну если ASP.NET то там и так оно есть
A так наверное надо забросить все это и как крутые пацаны isapi писать..
-
- Уже с Приветом
- Posts: 343
- Joined: 14 Mar 2002 10:01
-
- Уже с Приветом
- Posts: 1193
- Joined: 29 Dec 2003 17:19
- Location: NY
-
- Новичок
- Posts: 28
- Joined: 17 Jun 2003 04:41
Скорее всего следует согласиться с предыдущим оратором, написавшем
99% проблем - настройки IIS и сервера.
Проблема только в том, что сервер - не свой, а хостинговый и доступа к его настройкам нет. Поэтому все шишки падают на кодера а не на админа.
Кстати после гневного запроса к админу все заработало опять...
К вопросу о программировании на ASP и ASP.NET:
Для ASP.NET очень велика начальная цена вхождения - имеет смысл делать на нем проекты размера больше среднего. Маленькие и средние ГОРАЗДО проще и быстрее делать на ASP (ИМХО).
99% проблем - настройки IIS и сервера.
Проблема только в том, что сервер - не свой, а хостинговый и доступа к его настройкам нет. Поэтому все шишки падают на кодера а не на админа.
Кстати после гневного запроса к админу все заработало опять...
К вопросу о программировании на ASP и ASP.NET:
Для ASP.NET очень велика начальная цена вхождения - имеет смысл делать на нем проекты размера больше среднего. Маленькие и средние ГОРАЗДО проще и быстрее делать на ASP (ИМХО).
-
- Удалён за грубость
- Posts: 5791
- Joined: 15 Mar 1999 10:01
- Location: с Родины
Чулпан wrote:Для ASP.NET очень велика начальная цена вхождения - имеет смысл делать на нем проекты размера больше среднего. Маленькие и средние ГОРАЗДО проще и быстрее делать на ASP (ИМХО).
Кто нибудь скажет как совместить asp.net и javascript on client
В частности мне нужно сделать на динамически формирующихся линках по онклику попап окна, в которых будут грузиться тоже aspx страницы..
На asp я такое делал ( но на код лучше не смотреть )
"Имеешь одни часы - знаешь который час. Имеешь несколько - сомневаешься."
-
- Новичок
- Posts: 28
- Joined: 17 Jun 2003 04:41
DmTs wrote:Кто нибудь скажет как совместить asp.net и javascript on client
В частности мне нужно сделать на динамически формирующихся линках по онклику попап окна, в которых будут грузиться тоже aspx страницы..
На asp я такое делал ( но на код лучше не смотреть )
Проще всего сделать так:
Создайте переменную типа asp:Literal и в ее Text параметр запишите ваш JavaScript код. Создавать ее надо динамически в Page_Load функции. Есть еще специализированные функции для создания клиентского JavaScript кода, но на мой взгляд это уже излишество.