Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Доступ к данным пользователя
|
|||
|---|---|---|---|
|
#18+
Привет. Есть приложение ASP.NET 2, содержащее несколько страниц. Первая страница - логин и, соответственно, получение полной информации по юзеру со всеми его настройками и прочим. Остальные страницы - рабочие, причем надо сделать так, чтобы вот данные по этому самому юзеру были загружены один раз и доступны всему приложению, на всех страницах. Опрашивать каждый раз данные по ID пользователя - нагрузка большая. Хранить в сессии? Опять же, если народу на сайт много придет, провайдер заругает. Куки? Имхо не вариант. Подскажите плиз решение. Только просьба в сторону стандартных вещей типа аутентификации Forms или с помощью Profile не склонять, я хочу сделать полностью кастомную аутентификацию, которая ни от чего не будет зависеть. В общем, я пока в прострации и растерянности, не знаю, с чего начать. Заранее благодарен.-- Век живи - век учись, дураком помрешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 01:15 |
|
||
|
Доступ к данным пользователя
|
|||
|---|---|---|---|
|
#18+
HTTP протокол по природе своей не может сохранять состояние между запросами, поэтому по окончанию запроса все переменные (кроме статических) на сервере уничтожаются. Сессия - это метод искуственно поддерживать состояние между запросами. База данных и куки используются для того же. В любом случае, если эти варианты не подходят, то прийдется изобретать свои, аналогичные по функциональности (например, хранить в файле на сервере). Только вопрос, зачем изобретать колесо еще раз?.. P.S. проблему с нагрузкой на базу можно решить кэшированием. ( Блог программиста ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 02:16 |
|
||
|
Доступ к данным пользователя
|
|||
|---|---|---|---|
|
#18+
Нет, ну ладно, предположим, что я решил хранить данные с помощью сессии. Насколько я понял, новая сессия открывается каждый раз, когда юзер открывает окно браузера. На каждую сессию подгружать профиль юзера? Если сессий будет много, то будет отжираться память у сервака, пойдут письма "ваше приложение грузит сервер на 90%". Все хранить в куках - тоже палка о двух концах, юзер может и отключить их, хотя шансов на это мало, они все равно есть. А как мне еще сохранить данные по пользователю на все время, пока он по сайту шарится? Или все-таки на каждой странице их подгружать? Или использовать какие-нибудь глобальные переменные? Есть такая возможность?-- Век живи - век учись, дураком помрешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 09:49 |
|
||
|
Доступ к данным пользователя
|
|||
|---|---|---|---|
|
#18+
МахмудНет, ну ладно, предположим, что я решил хранить данные с помощью сессии. Насколько я понял, новая сессия открывается каждый раз, когда юзер открывает окно браузера. На каждую сессию подгружать профиль юзера? Если сессий будет много, то будет отжираться память у сервака, пойдут письма "ваше приложение грузит сервер на 90%". Сколько в "граммах" значит "много" сессий? 1,2, 10!? Сколько весит сам профиль? 1 байт, 1 Мегабайт? Можно 10 000 сессиями не загрузить сервер и 1-й убить. Храните в сессии только то, что нужно. не особо принципиальные данные можно и на куки скинуть (отключено? - скажу пусть включит). зы. у меня есть один сайт на публик хосте - иногда кол-во одновремменых сессий переваливает за 1500 - проблем нет никаких. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 11:10 |
|
||
|
Доступ к данным пользователя
|
|||
|---|---|---|---|
|
#18+
Хранить информацию в куках мне лично кажется худшим вариантом. Лично я бы каждый раз считывал информацию из базы. Если именно из-за этого будут проблемы с производительностью (в чем я сомневаюсь), то тогда бы использовал кэширование, что бы хранить в памяти закэшировать профайлы самых активных пользователей, а не всех, как в случае с сессией. Вообще, я считаю надо делать как можно проще и стандартнее, а оптимизацией заниматься уже потом, например после load-тестирования, что бы выявить действительно проблемные места. ( Блог программиста ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 12:50 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33958198&tid=1389997]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 274ms |
| total: | 427ms |

| 0 / 0 |
