Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Мой солюшн состоит из 3-х проектов. 1. Есть проект ASP.NET клиентский с веб-формами. 2. Есть проект, отвечающий за работу с БД (выборка, запись, бизнес логика). 3. Есть проект с кастом контролами. Задумал я хранить кое-какие данные в глобальной переменной, т.е. постоянно (ее значение должно сохраняться между всеми запросами и жить пока жива сессия). В проекте 1 такую переменную сделать без проблем - записать в Session. Но я захотел это сделать в проекте 2, а из него нет доступа к объекту Session, не получается. Как быть? Попробовал перенести все классы и модули в папку App_Code проекта 1, но обнаружил, что отсюда нет доступа к Session. Интересно, что в проекте 3 до Session можно достучаться через Page.Session. Не мог бы кто-нибудь объяснить, как правильно реализовать хранение, скажем строки со всеми таблицами и их полями в проекте 2? И почему в технологии ASP.NET такие трудности с доступом к Session из разных мест? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 00:02 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
какие трудности то? доступ к сессии из ддл, бред имхо. проталкивайте значение из сессии через параметры внутрь проекта 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 00:20 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
1. Сессия для бизнес данных - зло. Какие данные ты хочешь там хранить? 2. Тип «веб сайт» на помойку, забудь про app_code. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 13:18 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Коллеги, ну, серьезно, глобальные переменные - это удобно, что угодно можно хранить. Я храню Session("UserID") после авторизации и тд и тп. В ASP.NET появилось понятие "приложение" и это удобно. Через параметры, конечно-то, понятно. Но я просто не понимаю, почему в коде страницы я могу обратиться к Session, в Global.asax я тоже могу обратиться к Session, а в модуле, вынесенным в отдельную папку app_code я этого сделать не могу. Ведь любая процедура вызывается из него в контексте какой-то сессии. Может быть, можно как-то через Context.Session или типа того... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 17:09 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Обнаружил способ: HttpContext.Current.Session ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 17:19 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973Коллеги, ну, серьезно, глобальные переменные - это удобно, что угодно можно хранить. Я тоже серьезно, не нужно ничего храниться в сессии. Во-вторых, сессия - не глобальна. Глобально - используй кеш со всем его богатым функционалом. Игорь1973Я храню Session("UserID") после авторизации и тд и тп. Садись, двойка. Гугли на тему "asp.net custom principal", реализуй свой IPrincipal с UserID и будет тебе щастье. Игорь1973В ASP.NET появилось понятие "приложение" и это удобно. Это не удобно, это правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 17:32 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
зачем зависимость "ядра" приложения от сессии? можеш объяснить ,что тут удобного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 20:38 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuзачем зависимость "ядра" приложения от сессии? можеш объяснить ,что тут удобного? Какое ядро, ты о чем? Есть текущий IPrincipal, а UserID - это его атрибут. Делаем свой Custom Principal с этим атрибутом и живем спокойно. Это не просто удобно, это архитектурно правильно. http://stackoverflow.com/questions/1064271/asp-net-mvc-set-custom-iidentity-or-iprincipal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 21:01 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
МСУhandmadeFromRuзачем зависимость "ядра" приложения от сессии? можеш объяснить ,что тут удобного? Какое ядро, ты о чем? Есть текущий IPrincipal, а UserID - это его атрибут. Делаем свой Custom Principal с этим атрибутом и живем спокойно. Это не просто удобно, это архитектурно правильно. http://stackoverflow.com/questions/1064271/asp-net-mvc-set-custom-iidentity-or-iprincipal спасибо кеп! читай лучше что пишу. обращение в сессию из слоя бизнес логики который находится в отдельно проекте(dll) ваще как бы тупо. я ни слова не сказал про IPrincipal!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 21:56 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
п.с. МСУ ваще мой пост был для ТС. Я хз как ты на себя его воспринял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 22:00 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Гkобальные переменные надо хранить на уровне Application ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 22:01 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuп.с. МСУ ваще мой пост был для ТС. Я хз как ты на себя его воспринял Открой для себя цитирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 22:55 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
МСУhandmadeFromRuп.с. МСУ ваще мой пост был для ТС. Я хз как ты на себя его воспринял Открой для себя цитирование. не принимай все на свою карму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 22:59 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuне принимай все на свою карму Гадалки отошли в отпуск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 23:05 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
МСУГадалки отошли в отпуск. тебя хлебом не корми дай только поязвить) лол че) окей не буду воздух пинать с тобой тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2012, 23:41 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Во проблему нашли, автор все равно лет пять дальше локалхоста не уедет, по мне так он всю базу засунь в сессию - все одно. Это ж форум, и форум профессионалов..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 00:27 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Где-то в степи, ё моё, у меня ж юбиоей по сообщениям, ( если все с прошлых ников приплюсовать, мне мсу все равно не догнать (((() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 00:33 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Где-то в степиГде-то в степи, ё моё, у меня ж юбиоей по сообщениям, ( если все с прошлых ников приплюсовать, мне мсу все равно не догнать (((() Мои поздравления :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2012, 11:27 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Коллеги, UserID, хранимый в Session - это удобно. Вне зависимости от других вариантов. В Session также я храню строку соединения с БД (да, в моем проекте каждый пользователь может создать/открыть произвольную БД, наподобие того как в Ворде открывается произвольный файл для работы). А также и массу других удобных глобальных переменных уровня приложения (в рамках кокретной сессии). Например, список всех таблиц и их полей также удобно хранить в Session. Чтобы функции FieldExists, TableExists работали быстро, без запросов в БД. Да, и что там говорить... любой кеш из БД можно хранить в Сессии. И в этом случае как раз нужен доступ к сессии из ДДЛ (проекта бизнес-логики), что очень удобно. А что касается "это зло", "бред" - да, это просто предвзятости и догмы. Ну, а какие минусы использования Session? Уж, не считаете ли вы память, господа?! Или ресурсы сервера? Как это... несовременно. При современном развитии железного дела... Даже несмотря на то, что одновременных пользователей может быть тысячи более, IIS не споткнется от того, что в Session будет храниться несколько переменных типа UserID и даже длинных строк со списком всех полей и таблиц БД. Справится! МСУ , авторТип «веб сайт» на помойку, забудь про app_code. Ну, а что взамен вы предлагаете? MVC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 19:18 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973, Я так и знал.. что Вы, Игорь, и датасет туда затащите.. Все полезно, что в сессию влезло (с) зы А что в мувице аппсоде престало работать?.... вот сволочи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 19:48 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973В Session также я храню строку соединения с БД Жопа, с этим вы хлебнёте по полной, предвосхищаю ваш вопрос следующий вопрос на форуме: а почему юзер не может подконнектиться к БД? Игорь1973А что касается "это зло", "бред" - да, это просто предвзятости и догмы. Ну, а какие минусы использования Session? Уж, не считаете ли вы память, господа?! Или ресурсы сервера? Как это... несовременно. При современном развитии железного дела... Даже несмотря на то, что одновременных пользователей может быть тысячи более, IIS не споткнется от того, что в Session будет храниться несколько переменных типа UserID и даже длинных строк со списком всех полей и таблиц БД. Справится! вы лучше подсчитайте количество подключений при кот. сервер встанет раком, не забудьте о том , что сессии не сразу отваливаются Игорь1973МСУ , авторТип «веб сайт» на помойку, забудь про app_code. Ну, а что взамен вы предлагаете? MVC? ASP.NET Application ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 20:12 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
Игорь1973Например, список всех таблиц и их полей также удобно хранить в Session. Чтобы функции FieldExists, TableExists работали быстро, без запросов в БД Жесть :) А вы не подумали что, может так оказаться - Field в базе уже не Exists а в сесси он еще да Exists , и наоборот. :) А про пару GB активных данных, с которыми пул обнулится. А трафик, который будет постоянным, в не зависимости от надобности и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 20:16 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
pation, — А чё ты его держишь? Пусть идёт. Год у него был? Три за побег. Пять за детсад. Иди, иди, Вась…(с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 20:16 |
|
||
|
Как и где организовать хранение глобальных переменных?
|
|||
|---|---|---|---|
|
#18+
> Field в базе уже не Exists а в сесси он еще да Exists, и наоборот Все давно продумано, и это тоже. >пару GB активных данных До этого не дойдет. К тому же, уверен, этот параметр уможно увеличить при необходимости. Я не пихаю датасеты в сессию (хотя в разумных пределах и их небольшом объеме и это будет удобно), я говорил о строке со списком таблиц. Она не много места занимает. >А трафик, который будет постоянным, в не зависимости от надобности Трафик получается при перекачке инфы с клиента на сервер и наоборот, т.е. если инфа содержится в form, querystring, viewstate гоняется туда-сюада (почем зря). А вот как раз в отношении серверных переменных, хранимых в Session трафика никакого не нет -все всегда остается на сервере. Ладно, господа, не буду с вами сильно спорить, если вы так не любите хранение переменных в сессии, если вам так нравится экономить память сервера, то продолжайте и дальше не использовать Session. А ваши знания об этом считайте сокровенными, но я лично, считаю эти догмы уже устаревшими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 21:03 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37968432&tid=1359196]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
139ms |
get topic data: |
10ms |
get forum data: |
4ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 520ms |

| 0 / 0 |
