powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Константы для переменных сессии
25 сообщений из 46, страница 1 из 2
Константы для переменных сессии
    #33662704
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При работе с сессией используются константы

Session["aaa-bbb-ccc"] = obj

Понятно что везде нужно использовать одно и тоже значение. Как лучше организовать их хранение? В жабе я бы сделал что-то вроде интерфейса или класса с публичными членами и приватным конструктором.

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

А как же с обычными переменными - их тоже где-то храните?
А хранилище названий переменных - его тоже надо хранить, и хранилище хранилища, и ....

Или вы о чем-то другом? :()

-- Tygra's --
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33663444
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Писал я это уже в другом топике. Лично у меня есть отдельный класс констант. Что-то типа этого:
Код: plaintext
1.
2.
3.
4.
5.
public class constants
{
    public static string SiteName = "My Site";
    ...
}
а уж достучаться элементарно:
Код: plaintext
1.
2.
Session["sitename"] = constants.SiteName;
//при условии, что все классы находятся в одном namespace
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33663687
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А о том ли был вопрос?

Код: plaintext
Session["sitename"] = constants.SiteName
А каков смысл пихать в сессию, если вы и так получите эту константу? Зачем хранить два раза?

-- Tygra's --
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33663768
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну уж не знаю. Человек спросил, я ответил. Хотя, признаюсь, не подумав ответил. Ведь действительно, зачем в сессию писать константу? Но вопрос был ведь:
Mike EvteevПри работе с сессией используются константы

Session["aaa-bbb-ccc"] = obj
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665135
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkyLightПисал я это уже в другом топике. Лично у меня есть отдельный класс констант. Что-то типа этого:
Код: plaintext
1.
2.
3.
4.
5.
public class constants
{
    public static string SiteName = "My Site";
    ...
}
а уж достучаться элементарно:
Код: plaintext
1.
2.
Session["sitename"] = constants.SiteName;
//при условии, что все классы находятся в одном namespace


Получается все как в жабе... Только constants.SiteName должен быть с другой стороны...

2 tygra
пей не пей, а если что поменяется Вам придется по всему коду искать...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665394
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпей не пей, а если что поменяется Вам придется по всему коду искать...
что бы ничего не надо было пить и, ничего не надо было искать - для этого существует web.config <appsettings /> - не надо выдумывать собственные супер гениальные классы (ИМХО - это идиотизм)...
P.S. кстати, по поводу проблеммы (глобально) - абсолютно согласен с tygra Переменная для хранения переменной, хранящей константы - ЭТО КРУТО!!!
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665453
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrigне надо выдумывать собственные супер гениальные классы (ИМХО - это идиотизм)
Ну, это кому как удобнее. Мне удобнее класс. Не сказал бы, что он супергениальный - в нём ведь ТОЛЬКО константы и ничего другого. Тем более, что мне проще написать "public static", чем "<add key="...">", а уж если учесть то, что этих констант у меня 1-2 сотни, то тут уж определенно срабатывает привычка.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665543
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторнаписать "public static", чем "<add key="...">", а уж если учесть то, что этих констант у меня 1-2 сотни, то тут уж определенно срабатывает привычка.
1-2 сотни - это не показатель... .config выдержит и не столько... разговор напоминает уже пройденное - где лучше хранить настройки приложения - .ini, registry and etc.
ИМХО - есть готовые варианты - я, стараюсь придерживаться именно их (свободного времени остаётся больше - пиво, девочки ;)...
P.S. пугает одно - странное слово public - я что то последнее время вне процедур предпочтение отдаю Protected (но это VB.NET - в C# всё по другому ;)
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665700
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig авторпей не пей, а если что поменяется Вам придется по всему коду искать...
что бы ничего не надо было пить и, ничего не надо было искать - для этого существует web.config <appsettings /> - не надо выдумывать собственные супер гениальные классы (ИМХО - это идиотизм)...
P.S. кстати, по поводу проблеммы (глобально) - абсолютно согласен с tygra Переменная для хранения переменной, хранящей константы - ЭТО КРУТО!!!

Надо бы сначала разобраться с вопросом, а не писать муру. Как данные извлекаются из appSettings? Можно ли там просто сохранить объект?

Или может я не достаточно ясно вопрос поставил? Не константу для храниения константы, а константа для идентификации объекта в сессии например.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665720
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак данные извлекаются из appSettings?
Читай MSDN - иногда помогает...
авторМожно ли там просто сохранить объект?
Объект в виде константы LOL ;)
авторИли может я не достаточно ясно вопрос поставил?
Ответ:
авторПонятно что везде нужно использовать одно и тоже значение. Как лучше организовать их хранение? В жабе я бы сделал что-то вроде интерфейса или класса с публичными членами и приватным конструктором.
А как делают в .NET?
Ну и напоследок:
авторНе константу для храниения константы, а константа для идентификации объекта в сессии например.
Ваши же слова:
Надо бы сначала разобраться с вопросом, а не писать муру.
Желаю успехов!!!
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665733
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе константу для храниения константы, а константа для идентификации объекта в сессии например.
Сессия сама по себе хранит объект и, передавать из класса туда вообще ничего не надо (это на случай, если нет умной книги под рукой )
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665771
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig авторКак данные извлекаются из appSettings?
Читай MSDN - иногда помогает...
авторМожно ли там просто сохранить объект?
Объект в виде константы LOL ;)
авторИли может я не достаточно ясно вопрос поставил?
Ответ:
авторПонятно что везде нужно использовать одно и тоже значение. Как лучше организовать их хранение? В жабе я бы сделал что-то вроде интерфейса или класса с публичными членами и приватным конструктором.
А как делают в .NET?
Ну и напоследок:
авторНе константу для храниения константы, а константа для идентификации объекта в сессии например.
Ваши же слова:
Надо бы сначала разобраться с вопросом, а не писать муру.
Желаю успехов!!!

Ты наверное просто хорошо притворяешься?

Для того чтобы извлечь что либо из appSetting нужна константа - имя. Я спрашивал кто как хранит эти имена (константы) централизовано. Что еще не понятно? Первые два отвечавших, просто намутили, не я.

Я посмотрю как клево будут хранится объекты сессии в appSettings :-) Да, не нужно мне про сереализацию...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665796
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то вы замутили :)

человек хочет абсолютно правильную вещь:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
public class Strings
{
public const string SessionKey_UserID = "UserID";
}

Session[Strings.SessionKey_UserID] =  1 ;
Response.Write(Session[Strings.SessionKey_UserID]);


это полезно с точки зрения снижения числа ошибок, т.к.
обращение Session["фиг знает что"] вернет null, даже не ошибку.
т.о. можно избавится от этих очепяток.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665806
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ответ забыл, хотя понятно и так, наверное

собственно так и делают,
по схожему принципу иногда организовано хранение строк для string.Format("{0}{1}", 0, 1), это довольно удобно, в одном месте, хотя там лучше сразу в ресурсах.
В случае сессии это как бы hard coded, нет смысла, IMHO

конструктор тоже можно приватный сделать

непонятно каким боком тут интерфейс ?
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665836
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто в жабе в интерфейсе можно определить константу. В C# нельзя...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665942
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, надо же

интересно, в чем смысл ...
тот кто задал интерфейс, требует константу и знает ее,
зато те кто его наследует, получат закомпилированные
значения, очевидно скоро возникнет путаница
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33665983
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДля того чтобы извлечь что либо из appSetting нужна константа - имя. Я спрашивал кто как хранит эти имена (константы) централизовано. Что еще не понятно? Первые два отвечавших, просто намутили, не я.

честно сказать - то что ты дебил - это не секрет для читавших этот топик...
Пускай меня вырежут завтра - после завтра...
Если сессия сохраняет объекты - то в сессии и хранят эти объекты - к чему ещё какоето чудное хранилище???!!!
авторага, надо же

интересно, в чем смысл ...
тот кто задал интерфейс, требует константу и знает ее,
зато те кто его наследует, получат закомпилированные
значения, очевидно скоро возникнет путаница
ИМХО - уже третий человек говорит об одном и том же...
P.S. но, к супергениям, таким как ты, всё это не относится
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33666015
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vladgrig

В случае с константами, использующимися как ключи переменных сессии, путаница гипотетически будет (даже ошибки!), если логика работы с контекстом находится в двух сборках, и одна их них была перекомпилирована с новыми значениями констант. Я же спросил про смысл констант в интерфейсах вообще, это вопрос про Java больше и ООП.

ты не прав, вопрос автор топика поставил верно, его просто почему-то не поняли и все разом ... редко но бывает.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33666435
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторты не прав, вопрос автор топика поставил верно, его просто почему-то не поняли и все разом ... редко но бывает.
Давай отойдём от автора топика и его вопроса - то о чём говоришь ты нуждается в примере - вот я и попрошу тебя привести наглядный пример сказанного (если не трудно)... Тогда и мне и всем станет понятно - О ЧЁМ ИДЁТ РЕЧЬ???!!!
ИМХО Правильно задать вопрос - это искусство...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33666545
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig, сам то не тупи ;)

под константами автор подразумевал наименование сессионных переменных (aaa-bbb-ccc из его примера)
вопрос, конечно, задан криво, но все иные интерпретации, как было уже замечено, абсурдны

и greenapple дал совершенно конкретный и правильный ответ.
а делается это, что бы в последствии не бегать по всему коду и не искать как ты уже обозвал ту или иную переменную, или, из-за забывчивости, не хранить один и тотже объект в нескольких сессионных переменных

ps. это не правило - только удобство
pss. имхо, можно закрывать
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33666690
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора делается это, что бы в последствии не бегать по всему коду и не искать как ты уже обозвал ту или иную переменную, или, из-за забывчивости, не хранить один и тотже объект в нескольких сессионных переменных

Ответ от tygra
авторИли память подводит - не те значения переменных сессии пишете? Тогда это доктор поможет, болюсы хуато можно пропить, говорят что память улучшают..

P.S. собственно, был дан в самом начале...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33666797
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Персонально to profil
просто задумайся, что будет происходить при таком подходе - при вызове сессионной переменной, сначала будет инициализироваться класс в котором храняться константы с именами сессионных переменных, и только потом будет вызвана сама сессионная переменная... (надеюсь понятно выразился ;)
Следующий вопрос, при таком подходе, будет примерно такой:
почему упала производительность приложения - что я сделал не так?
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33666852
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ни какой инициализации класса не будет - значения констант подставляются в момент компиляции

зы. и хватит занимайся словоблудием. ни кто не заставляет использовать такой подход
все дело в удобстве, да и что бы к доктору лишний раз не бегать ;)
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33667337
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну круто, ребята.

Я вижу, тут не только память, тут логику нужно править.
Если в системе столько констант, которые хранятся в сессии, что их уже и написать правильно без компилятора не могут, то может чего с системой не так? Может убавить количество констант в сессии?
Или вы эти константы на каждой странице прописываете? Все сразу да еще в случайном порядке?

И с другой стороны - чтобы запихать чего-то в сессию, нужно пойти и создать для нее константу, проинизиализировать и во всех местах вместо session['aaa'] писать session[sessionconstnames.aaa] Т.е. во втором случае что такое ааа вы не забудете? Или будете писать вторую структуру, как я и предлагал, constantnames_for_sessionconstatntnames.aaa

ЗЫ Цирк. Заводить константы для хранения значений - это правильно и необходимо. Но заводить константы для хранения имен констант, хранящих значение в сессии - это уже супер!!! Жесть!

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


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