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

особых проблем, кроме описанной, или нагромождений при использовании этого подхода лично я не вижу, если делать с 0. Если переделывать из имеющегося, вероятно они будут. Зато ИМХО, преимущества: определив ключ в константе мы не получим случайных опечаток и в студии можно использовать IntelliSense, так что даже такие названия constantnames_for_sessionconstatntnames.aaa набирать не нужно.

Я написал что не ошибка а null неслучайно: это приведет к тому что сработает другая ветвь кода. Часто отрицательная проверка на null штатно означает что переменная не была инициализирована, например если в сессии ID юзера - была авторизация, или было выполнено некое действие. Такие опечатки на моей лично памяти были, да, они находятся, это конечно не полная задница, но это неприятно. В любом случае, это ошибка времени выполнения, подходы снижающие их количество обычно приветствуются. По-твоему же получается, что константы вообще не нужны. Они ведь не хранят никакие значение, они нужны только до компиляции, для удобства разработчика. В этих языках их даже нельзя менять.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33667967
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПо-твоему же получается, что константы вообще не нужны.
Нееет, я как раз написал, что нужны.

Но раз уж так хочется чего-то в сессию таким странным образом пихать, то тогда уж вот так: делаете не возврат имени константы, а именно возврат значения, типа вот такого (за правильность написания не ручаюсь, просто пример)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class Consts
{
public string SessionKey_UserID
{
  write
    Session["UserID"] = Value
  read
    return Session["UserID"]
}
}

Consts.SessionKey_UserID =  1 ;
Response.Write(Consts.SessionKey_UserID);


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

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

интересно, в чем смысл ...
тот кто задал интерфейс, требует константу и знает ее,
зато те кто его наследует, получат закомпилированные
значения, очевидно скоро возникнет путаница
ИМХО - уже третий человек говорит об одном и том же...
P.S. но, к супергениям, таким как ты, всё это не относится

Хватит пиздеть! А то рот в пизду привратится!
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668071
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygra авторПо-твоему же получается, что константы вообще не нужны.
Нееет, я как раз написал, что нужны.

Но раз уж так хочется чего-то в сессию таким странным образом пихать, то тогда уж вот так: делаете не возврат имени константы, а именно возврат значения, типа вот такого (за правильность написания не ручаюсь, просто пример)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class Consts
{
public string SessionKey_UserID
{
  write
    Session["UserID"] = Value
  read
    return Session["UserID"]
}
}

Consts.SessionKey_UserID =  1 ;
Response.Write(Consts.SessionKey_UserID);


-- Tygra's --

Это даже на шаг дальше от того что требовалось.

По сути вопрос был как определить глобальные константы. Вопрос в общем-то риторический. Оказалось что очень многие монут только растопырить пальцы, вместо того чтобы на него ответить. Если человек не понимает что такое loose coupling, и что использование констант один из его видов, то бог ему в помощь...
Я уже молчу про коллективную разработку и распределенные системы.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668111
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraНу круто, ребята.

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

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

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

-- Tygra's --

То что есть в коде уже не отнимишь. Reflection, design-time поддерка, документация и т.п. Не вижу никакой разницы между константой хранящей строку - имя переменной и любой другой. Константа она и в африке константа, и если она поменяется, то только в одном месте. Так как пишите Вы, придется менять повсюду. Наверное поэтому память у Вас замечательная... :-)
Замечания про то что константу нужно инициализировать во всем местах вообще бред. Константа инициализируется только один раз - на этапе декларации :-)
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668152
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greenappleага, надо же

интересно, в чем смысл ...
тот кто задал интерфейс, требует константу и знает ее,
зато те кто его наследует, получат закомпилированные
значения, очевидно скоро возникнет путаница

Вопрос к Гослингу :-)

В жабе нет перечислений. Так что интерфейсы или классы со статическими финализированными константами их заменяют. В NET подобные штуки тоже есть, например Color.Red.
Так что я очень удивлен, поднявшейся бурей в стакане. Нужно признать, что С# во многом более удобен чем жаба.

Наверное в MS поже у девелоперов с памятью не все в порядке. Бедолаги! Без рецепта ничего в аптеке не купишь... LOL
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668206
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to tygra :
не ведись у них на поводу (со своими уговорами и умными словами они всё равно остаются теми, кем я их называю)... то что ты предлагаешь - вообще не требует session - с таким же успехом можно обойтись и без неё (написав свой класс для хранения всей бодяги из проги и, в сущности повторить session)...

P.S. конкретно по вопросу
есть файл Global.asax
там инициализируются сессионные переменные (вот так - пример из книги):
Код: plaintext
1.
2.
3.
4.
5.
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    Dim TransClass As New TranslatorClass
    'index 0
    Session( "TransClass") = TransClass
    'or Nothing
End Sub
А потом в приложении (если уж память и впрямь подводит и есть стресс создать много лишнего и ненужного) обращение делается через индексы...
Код: plaintext
Session( 0 ) = TransClass
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668381
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tygraто тогда уж вот так

ну это уже кажется избыточным. В сессию же пихаться как раз будет самым обычным образом, замечу.

зачем же нам быть как в анекдоте:

- У нас в раскопках 11 века нашли кусок проволоки, что говорит о существовании проволочного телеграфа.
- А у нас ничего не нашли, что говорит о существовании беспроволочного телеграфа


2 Mike Evteev

да, про перечисления то я в курсе был, про константы - нет, и меня тоже крайне удивила реакция,
и мне досталось... надо поменьше уговаривать наверное :)

2 vladgrig
любите искусство в себе, а не себя в искусстве
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668390
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2 vladgrig
любите искусство в себе, а не себя в искусстве
<OFF>
во мне проснулась совесть -
Я ПУБЛИЧНО ИЗВИНЯЮСЬ ПЕРЕД ТЕМИ, КОМУ В ГОРЯЧКЕ, НАНЁС СВОИМИ СЛОВАМИ ДУШЕВНУЮ ТРАВМУ...
P.S. просто не терплю глупость ;)
</OFF>
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668491
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дурак - это человек, считающий себя умнее меня(с)
Лец Станислав Ежи


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668545
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mike EvteevНадо бы сначала разобраться с вопросом, а не писать муру.
Mike EvteevТы наверное просто хорошо притворяешься?
Mike EvteevХватит пиздеть! А то рот в пизду привратится!


greenappleэто полезно с точки зрения снижения числа ошибок, т.к.
обращение Session["фиг знает что"] вернет null, даже не ошибку.
т.о. можно избавится от этих очепяток.
greenappleты не прав, вопрос автор топика поставил верно, его просто почему-то не поняли и все разом ...
greenapple2 vladgrig
любите искусство в себе, а не себя в искусстве

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

ps. это не правило - только удобство
profilзы. и хватит занимайся словоблудием. ни кто не заставляет использовать такой подход
все дело в удобстве, да и что бы к доктору лишний раз не бегать ;)
profilДурак - это человек, считающий себя умнее меня(с)
Лец Станислав Ежи

Ну, что же - мои ОБРАЗОВАНЫЕ, НАЧИТАННЫЕ, ИНТЕЛЕГЕНТНЫЕ други... Сейчас пишу одно приложение - по ходу дела, нужно вставлять новую строку в датасет, присваивая ей определённые значения (вот так):

Код: plaintext
1.
2.
3.
4.
Dim row As DataRow = DataSet11.table1.NewRow
row("DTime") = Now.ToString("yyyy/MMMM/dd HH:mm:ss")
....
and etc.
Так вот, я понял, что самое удобное и правильное, в данном случае, завести свой класс, в котором прописать следующие константы:
Код: plaintext
1.
2.
3.
4.
5.
6.
Public Class MyConstants
Public row1 As String = "DTime"
....
'And etc.
Public dateformat As String = "yyyy/MMMM/dd HH:mm:ss"
End Class
и, соответственно делать код вот таким:
Код: plaintext
1.
2.
3.
4.
Dim row As DataRow = DataSet11.table1.NewRow
row(MyConstants.row1) = Now.ToString(MyConstants.dateformat)
....
and etc.
т.к. в данном случае, я избегу огромного количества ошибок времени выполнения и, буду себя чуствовать удобно и комфортно...???!!!
P.S. Спасибо, было очень поучительно побеседовать с Вами!!!
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668599
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrigт.к. в данном случае, я избегу огромного количества ошибок времени выполнения и, буду себя чуствовать удобно и комфортно...???!!!

избежание ошибок времени выполнения в пирамиде Маслоу, вероятно, лежит за ее периметром :)

vladgrig и, соответственно делать код вот таким:

Да, а почему нет? если это писать много раз одному человеку, это уже полезно, а 10, а 100? Что мешает то? константа это всего лишь хрень ,
которую придумали люди именно, чтобы набивая пальцами одинаковое не ошибаться, и автоматом писать одинаковое там, где можно допустить ошибку .
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668601
Фотография greenapple
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно, подумал ли ты о том, что это не константы, а переменные? В каких ситуациях это может быть полезно и как изменилась бы архитектура известных тебе решений от такого нелогичного решения?
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33668719
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторинтересно, подумал ли ты о том, что это не константы, а переменные? В каких ситуациях это может быть полезно и как изменилась бы архитектура известных тебе решений от такого нелогичного решения?
Знаешь, честно сказать, даже думать об этом не хочу - просто привёл пример Вашей нелогичной логики... Единственное, что мне интересно - на практике в ВУЗе какую отметку можно схлопотать за применение такого нелогичного решения!!!???
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33671933
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 greenapple

Про Маслоу - это 5!!!
Он наверное систем крупнее чем на практике в ВУЗЕ не видел... :-)
За сим откланиваюсь...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33672061
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Mikluha Evreev :
да-да, всё правильно, и я не ошибся... просто, в соответствии с моим новым классом твой ник Mike Evteev теперь выглядит так Mikluha Evreev ...
P.S. мне и писать и запоминать удобно...
P.P.S. за сим и я откланюсь, пожалуй - пойду изучать макросистемы, что-ли... ;)
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33672256
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как говорил Виничка, тебя за это надо ветками жимолости по попке высечь.
Ну да ладно... Позврослеешь само пройдет...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33674654
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikluha EvreevКак говорил Виничка, тебя за это надо ветками жимолости по попке высечь.
Ну да ладно... Позврослеешь само пройдет...
To Mikluha Evreev :
1. читаем - изучаем
2. там и пример кода есть

P.S. или взрослые дядьки из MS тоже в детство впали!!!???

To greenaple :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<style>
    body
    {
      font: <%=GetStyle("FontSize")%> <%=GetStyle("FontName")%>;
      background-color: <%=GetStyle("BackColor")%>;
    }
    a
    {
        color: <%=GetStyle("LinkColor")%>
    }
</style>
что то не припомню - сюда попадает студийный интелесенце - или всё таки надо полагаться на память? ;)
P.S. наконец я понял кому посвятил свой заключительный пост profil... ;)
profilДурак - это человек, считающий себя умнее меня(с)
Лец Станислав Ежи
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33675093
Humpy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig
2. там и пример кода есть

Если вчитаться внимательнее - увидим, что в сессии хранятся вовсе не константы.
Пример сильно упрощенный, для демонстрации. За писание такого в реальном коде руки надо отрывать.
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33676150
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли вчитаться внимательнее - увидим, что в сессии хранятся вовсе не константы.

Ещё один... Речь то в топике не о том - что храниться в сессионных переменных, а о том, как эти сессионные переменные вызываются... И, никому ничего отрывать не надо - надо просто внимательно читать все посты из топика...
P.S. ладно, устал я уже... Забью на эту тему, пожалуй... Спасение утопающих - дело рук самих утопающих...
...
Рейтинг: 0 / 0
Константы для переменных сессии
    #33683710
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vladgrig

Взрослый мужик, а ведешь себя как пацан... Детский сад... Чесное слово.

Написал ведь на своем сайте...

vladgrig
» Ты говоришь, ты – часть, а сам ты весь Стоишь передо мною здесь? (Иоганн Гёте "Фауст")

Изгиб первый: млин... частенько жизненный опыт подсказывает, что поступаю неправильно, но, ничего не могу с собой поделать - прёт как идиота. Ведь сколько раз говорил себе: "Твои рассуждения могут быть ошибочны. Иногда, ты просто заблуждаешься. Не будь таким категоричным..." Всё одно - упрусь, как баран и, нивкакую не хочу сдаваться. Хорошо что, с возрастом стал относиться к происходящему намного спокойнее, а то раньше, ещё бы злился на то, что ткнули как котёнка, носом в молоко (кстати, в данном случае, поделом ткнули) ...

Изгиб второй: иногда в моей голове проскакивают гениальные мысли. Наверное похоже на простое бахвальство, но только я знаю, как сложно создавать всё то, на что ты сейчас смотришь... Опять же, на работе понадобилось сделать небольшую (простенькую) прогу - мне пришла мысль взять в руки книгу и изучить (в пределах разумного) VB.NET Казалось бы, пустячок, а кто сможет похвастать, что вот так, для рабочих нужд, изучил язык программирования (не имея должного образования)?

Изгиб третий: ...


:-)

Ведь понимаешь же о чем речь идет... Сам себя перебороть не можешь?
И перестань коверкать имена. Меня в общем-то этим не обидишь, а свою ограниченность только подчеркнешь...
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Константы для переменных сессии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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