powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как и где организовать хранение глобальных переменных?
25 сообщений из 52, страница 1 из 3
Как и где организовать хранение глобальных переменных?
    #37968046
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Мой солюшн состоит из 3-х проектов.
1. Есть проект ASP.NET клиентский с веб-формами.
2. Есть проект, отвечающий за работу с БД (выборка, запись, бизнес логика).
3. Есть проект с кастом контролами.
Задумал я хранить кое-какие данные в глобальной переменной, т.е. постоянно (ее значение должно сохраняться между всеми запросами и жить пока жива сессия).
В проекте 1 такую переменную сделать без проблем - записать в Session.
Но я захотел это сделать в проекте 2, а из него нет доступа к объекту Session, не получается. Как быть?
Попробовал перенести все классы и модули в папку App_Code проекта 1, но обнаружил, что отсюда нет доступа к Session.
Интересно, что в проекте 3 до Session можно достучаться через Page.Session.
Не мог бы кто-нибудь объяснить, как правильно реализовать хранение, скажем строки со всеми таблицами и их полями в проекте 2? И почему в технологии ASP.NET такие трудности с доступом к Session из разных мест?
Заранее спасибо.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968057
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие трудности то? доступ к сессии из ддл, бред имхо. проталкивайте значение из сессии через параметры внутрь проекта 2.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968217
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Сессия для бизнес данных - зло. Какие данные ты хочешь там хранить?
2. Тип «веб сайт» на помойку, забудь про app_code.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968330
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, ну, серьезно, глобальные переменные - это удобно, что угодно можно хранить.
Я храню Session("UserID") после авторизации и тд и тп. В ASP.NET появилось понятие "приложение" и это удобно.
Через параметры, конечно-то, понятно. Но я просто не понимаю, почему в коде страницы я могу обратиться к Session, в Global.asax я тоже могу обратиться к Session, а в модуле, вынесенным в отдельную папку app_code я этого сделать не могу.
Ведь любая процедура вызывается из него в контексте какой-то сессии.
Может быть, можно как-то через Context.Session или типа того...
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968333
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружил способ:
HttpContext.Current.Session
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968339
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973Коллеги, ну, серьезно, глобальные переменные - это удобно, что угодно можно хранить.
Я тоже серьезно, не нужно ничего храниться в сессии. Во-вторых, сессия - не глобальна. Глобально - используй кеш со всем его богатым функционалом.

Игорь1973Я храню Session("UserID") после авторизации и тд и тп.
Садись, двойка. Гугли на тему "asp.net custom principal", реализуй свой IPrincipal с UserID и будет тебе щастье.

Игорь1973В ASP.NET появилось понятие "приложение" и это удобно.
Это не удобно, это правильно.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968403
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем зависимость "ядра" приложения от сессии? можеш объяснить ,что тут удобного?
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968410
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuзачем зависимость "ядра" приложения от сессии? можеш объяснить ,что тут удобного?
Какое ядро, ты о чем? Есть текущий IPrincipal, а UserID - это его атрибут. Делаем свой Custom Principal с этим атрибутом и живем спокойно. Это не просто удобно, это архитектурно правильно.

http://stackoverflow.com/questions/1064271/asp-net-mvc-set-custom-iidentity-or-iprincipal
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968429
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhandmadeFromRuзачем зависимость "ядра" приложения от сессии? можеш объяснить ,что тут удобного?
Какое ядро, ты о чем? Есть текущий IPrincipal, а UserID - это его атрибут. Делаем свой Custom Principal с этим атрибутом и живем спокойно. Это не просто удобно, это архитектурно правильно.

http://stackoverflow.com/questions/1064271/asp-net-mvc-set-custom-iidentity-or-iprincipal
спасибо кеп! читай лучше что пишу. обращение в сессию из слоя бизнес логики который находится в отдельно проекте(dll) ваще как бы тупо. я ни слова не сказал про IPrincipal!!!
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968432
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
п.с. МСУ ваще мой пост был для ТС. Я хз как ты на себя его воспринял
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968433
Фотография skole
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гkобальные переменные надо хранить на уровне Application
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968461
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuп.с. МСУ ваще мой пост был для ТС. Я хз как ты на себя его воспринял
Открой для себя цитирование.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968462
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhandmadeFromRuп.с. МСУ ваще мой пост был для ТС. Я хз как ты на себя его воспринял
Открой для себя цитирование.
не принимай все на свою карму
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968466
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuне принимай все на свою карму
Гадалки отошли в отпуск.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968477
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГадалки отошли в отпуск.
тебя хлебом не корми дай только поязвить) лол че) окей не буду воздух пинать с тобой тут
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968492
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во проблему нашли, автор все равно лет пять дальше локалхоста не уедет, по мне так он всю базу засунь в сессию - все одно.
Это ж форум, и форум профессионалов.....
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968496
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,
ё моё, у меня ж юбиоей по сообщениям,
( если все с прошлых ников приплюсовать, мне мсу все равно не догнать (((()
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37968603
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиГде-то в степи,
ё моё, у меня ж юбиоей по сообщениям,
( если все с прошлых ников приплюсовать, мне мсу все равно не догнать (((()
Мои поздравления :)
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970448
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги,
UserID, хранимый в Session - это удобно. Вне зависимости от других вариантов.
В Session также я храню строку соединения с БД (да, в моем проекте каждый пользователь может создать/открыть произвольную БД, наподобие того как в Ворде открывается произвольный файл для работы).
А также и массу других удобных глобальных переменных уровня приложения (в рамках кокретной сессии).
Например, список всех таблиц и их полей также удобно хранить в Session. Чтобы функции FieldExists, TableExists работали быстро, без запросов в БД. Да, и что там говорить... любой кеш из БД можно хранить в Сессии.
И в этом случае как раз нужен доступ к сессии из ДДЛ (проекта бизнес-логики), что очень удобно.
А что касается "это зло", "бред" - да, это просто предвзятости и догмы. Ну, а какие минусы использования Session? Уж, не считаете ли вы память, господа?! Или ресурсы сервера? Как это... несовременно. При современном развитии железного дела...
Даже несмотря на то, что одновременных пользователей может быть тысячи более, IIS не споткнется от того, что в Session будет храниться несколько переменных типа UserID и даже длинных строк со списком всех полей и таблиц БД. Справится!

МСУ ,
авторТип «веб сайт» на помойку, забудь про app_code.
Ну, а что взамен вы предлагаете? MVC?
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970479
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973,
Я так и знал.. что Вы, Игорь, и датасет туда затащите..
Все полезно, что в сессию влезло (с)
зы А что в мувице аппсоде престало работать?.... вот сволочи...
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970497
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973В Session также я храню строку соединения с БД
Жопа, с этим вы хлебнёте по полной, предвосхищаю ваш вопрос следующий вопрос на форуме: а почему юзер не может подконнектиться к БД?

Игорь1973А что касается "это зло", "бред" - да, это просто предвзятости и догмы. Ну, а какие минусы использования Session? Уж, не считаете ли вы память, господа?! Или ресурсы сервера? Как это... несовременно. При современном развитии железного дела...
Даже несмотря на то, что одновременных пользователей может быть тысячи более, IIS не споткнется от того, что в Session будет храниться несколько переменных типа UserID и даже длинных строк со списком всех полей и таблиц БД. Справится!
вы лучше подсчитайте количество подключений при кот. сервер встанет раком, не забудьте о том , что сессии не сразу отваливаются

Игорь1973МСУ ,
авторТип «веб сайт» на помойку, забудь про app_code.
Ну, а что взамен вы предлагаете? MVC?
ASP.NET Application
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970500
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973Например, список всех таблиц и их полей также удобно хранить в Session. Чтобы функции FieldExists, TableExists работали быстро, без запросов в БД
Жесть :)
А вы не подумали что, может так оказаться - Field в базе уже не Exists а в сесси он еще да Exists , и наоборот. :)
А про пару GB активных данных, с которыми пул обнулится.
А трафик, который будет постоянным, в не зависимости от надобности и тд.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970501
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pation,
— А чё ты его держишь? Пусть идёт. Год у него был? Три за побег. Пять за детсад. Иди, иди, Вась…(с)
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970532
Игорь1973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Field в базе уже не Exists а в сесси он еще да Exists, и наоборот
Все давно продумано, и это тоже.

>пару GB активных данных
До этого не дойдет. К тому же, уверен, этот параметр уможно увеличить при необходимости.
Я не пихаю датасеты в сессию (хотя в разумных пределах и их небольшом объеме и это будет удобно), я говорил о строке со списком таблиц. Она не много места занимает.

>А трафик, который будет постоянным, в не зависимости от надобности
Трафик получается при перекачке инфы с клиента на сервер и наоборот, т.е. если инфа содержится в form, querystring, viewstate гоняется туда-сюада (почем зря). А вот как раз в отношении серверных переменных, хранимых в Session трафика никакого не нет -все всегда остается на сервере.

Ладно, господа, не буду с вами сильно спорить, если вы так не любите хранение переменных в сессии, если вам так нравится экономить память сервера, то продолжайте и дальше не использовать Session. А ваши знания об этом считайте сокровенными, но я лично, считаю эти догмы уже устаревшими.
...
Рейтинг: 0 / 0
Как и где организовать хранение глобальных переменных?
    #37970562
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь1973,

придёт с опытом, я тоже так раньше думал
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 1 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как и где организовать хранение глобальных переменных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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