Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сессиия и много пользователей / 13 сообщений из 13, страница 1 из 1
01.12.2005, 13:04
    #33410852
notarius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Существует некоторая система, которая в многопользовательском режиме работы выдала интересный глюк.
При старте сессии (в Session_Start) создается объект, который сохраняется в Session.
Сам объект весьма не кислый по размеру и хранит в себе много полезного включая модули, которые в данный момент отображаются пользователю на экран.
Модули подгружаются динамически.
Глюк проявляется в том, что при выполнении различных действий пользователю выдается на экран модуль, который загружен в сессии другого пользователя (с его введенными данными и т.д.)
Где копать?
...
Рейтинг: 0 / 0
01.12.2005, 13:34
    #33410979
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
в архитектуре

с уважением...
...
Рейтинг: 0 / 0
01.12.2005, 13:45
    #33411033
notarius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Ну об этом я догадываюсь )))
А где конкретнее?
...
Рейтинг: 0 / 0
01.12.2005, 14:09
    #33411161
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
зачем "некислые" объекты хранить в сессии?

с уважением...
...
Рейтинг: 0 / 0
01.12.2005, 14:30
    #33411241
notarius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Чтобы был некоторый "контекст" текущего процесса.
Поясню: есть объект "ядро", содержащий набор процессов (пошаговых процедур для пользователя). Пользователь может перемещаться "вперед-назад" по текущему процессу и ему отображается соответственно загруженный контрол.
Навигация осуществляется редиректами и при загрузке страницы просто выводится текущее представление текущего процесса.
По идее контексты разделены, т.к. Session должен быть отдельный для сеанса каждого пользователя. (если это можно сделать более правильно/элегантно, то рад буду услышать каким образом).
...
Рейтинг: 0 / 0
01.12.2005, 15:05
    #33411379
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
может стоит задуматься о БД, в которой хранить данные о состоянии объекта

с уважением...
...
Рейтинг: 0 / 0
01.12.2005, 15:29
    #33411498
notarius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Вполне разумно, надо подумать каким образом это делать.
Но все-таки вопрос, что не так с сохранением объектов в сессии?
...
Рейтинг: 0 / 0
01.12.2005, 15:41
    #33411542
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
notariusВполне разумно, надо подумать каким образом это делать.
ну например можно саму сессия хранить в БД

notariusНо все-таки вопрос, что не так с сохранением объектов в сессии?
да фиг его знает, какие его внутренние механизмы клинит
...
Рейтинг: 0 / 0
02.12.2005, 10:41
    #33412977
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
	public class Test : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label LabelStaticValue;

		private void Page_Load(object sender, System.EventArgs e)
		{
			if(IsPostBack)
			{
				lock(typeof(TestClassWithStatic))
				{
					LabelStaticValue.Text=Convert.ToString(TestClassWithStatic.Counter)+"->"+Convert.ToString(--TestClassWithStatic.Counter)+" (SessionID: "+Session.SessionID+")";
				}
			}
		}
	}

	public class TestClassWithStatic
	{
		public static long
			Counter;

		public TestClassWithStatic()
		{}
	}

И посмотрите из-под разных сессий ;)
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
02.12.2005, 11:33
    #33413160
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
ну и чего? static ведь

с уважением...
...
Рейтинг: 0 / 0
02.12.2005, 12:23
    #33413377
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Вот и я ж о чем...
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
02.12.2005, 12:52
    #33413484
notarius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Статически ничего в классе не объявлено (
...
Рейтинг: 0 / 0
02.12.2005, 13:04
    #33413515
notarius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сессиия и много пользователей
Собственно проблема решилась добавлением в Page_Load следующего:

Response.Cache.SetCacheability(HttpCacheability.NoCache);
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сессиия и много пользователей / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]