powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Доступ к данным пользователя
5 сообщений из 5, страница 1 из 1
Доступ к данным пользователя
    #33957128
Махмуд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

Есть приложение ASP.NET 2, содержащее несколько страниц. Первая страница - логин и, соответственно, получение полной информации по юзеру со всеми его настройками и прочим. Остальные страницы - рабочие, причем надо сделать так, чтобы вот данные по этому самому юзеру были загружены один раз и доступны всему приложению, на всех страницах. Опрашивать каждый раз данные по ID пользователя - нагрузка большая. Хранить в сессии? Опять же, если народу на сайт много придет, провайдер заругает. Куки? Имхо не вариант. Подскажите плиз решение.
Только просьба в сторону стандартных вещей типа аутентификации Forms или с помощью Profile не склонять, я хочу сделать полностью кастомную аутентификацию, которая ни от чего не будет зависеть.
В общем, я пока в прострации и растерянности, не знаю, с чего начать.

Заранее благодарен.--
Век живи - век учись, дураком помрешь
...
Рейтинг: 0 / 0
Доступ к данным пользователя
    #33957160
manovcih
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HTTP протокол по природе своей не может сохранять состояние между запросами, поэтому по окончанию запроса все переменные (кроме статических) на сервере уничтожаются. Сессия - это метод искуственно поддерживать состояние между запросами. База данных и куки используются для того же. В любом случае, если эти варианты не подходят, то прийдется изобретать свои, аналогичные по функциональности (например, хранить в файле на сервере). Только вопрос, зачем изобретать колесо еще раз?..

P.S. проблему с нагрузкой на базу можно решить кэшированием. 
( Блог программиста )
...
Рейтинг: 0 / 0
Доступ к данным пользователя
    #33957448
Махмуд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, ну ладно, предположим, что я решил хранить данные с помощью сессии. Насколько я понял, новая сессия открывается каждый раз, когда юзер открывает окно браузера. На каждую сессию подгружать профиль юзера? Если сессий будет много, то будет отжираться память у сервака, пойдут письма "ваше приложение грузит сервер на 90%". Все хранить в куках - тоже палка о двух концах, юзер может и отключить их, хотя шансов на это мало, они все равно есть. А как мне еще сохранить данные по пользователю на все время, пока он по сайту шарится? Или все-таки на каждой странице их подгружать? Или использовать какие-нибудь глобальные переменные? Есть такая возможность?--
Век живи - век учись, дураком помрешь
...
Рейтинг: 0 / 0
Доступ к данным пользователя
    #33957733
Hratchia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МахмудНет, ну ладно, предположим, что я решил хранить данные с помощью сессии. Насколько я понял, новая сессия открывается каждый раз, когда юзер открывает окно браузера. На каждую сессию подгружать профиль юзера? Если сессий будет много, то будет отжираться память у сервака, пойдут письма "ваше приложение грузит сервер на 90%".

Сколько в "граммах" значит "много" сессий? 1,2, 10!?

Сколько весит сам профиль? 1 байт, 1 Мегабайт?

Можно 10 000 сессиями не загрузить сервер и 1-й убить.

Храните в сессии только то, что нужно. не особо принципиальные данные можно и на куки скинуть (отключено? - скажу пусть включит).

зы. у меня есть один сайт на публик хосте - иногда кол-во одновремменых сессий переваливает за 1500 - проблем нет никаких.
...
Рейтинг: 0 / 0
Доступ к данным пользователя
    #33958198
manovcih
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хранить информацию в куках мне лично кажется худшим вариантом.
Лично я бы каждый раз считывал информацию из базы. Если именно из-за этого будут проблемы с производительностью (в чем я сомневаюсь), то тогда бы использовал кэширование, что бы хранить в памяти закэшировать профайлы самых активных пользователей, а не всех, как в случае с сессией.
Вообще, я считаю надо делать как можно проще и стандартнее, а оптимизацией заниматься уже потом, например после load-тестирования, что бы выявить действительно проблемные места. 
( Блог программиста )
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Доступ к данным пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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