Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session / 13 сообщений из 13, страница 1 из 1
08.06.2006, 16:04
    #33781070
vbnet2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Встречаю этот совет в каждом букваре. Но как это сделать практически? Ну для своих обьектов - это само собой, никому и не придет в голову гонять все это на клиента. Но для большинства стандартных контролов, раздувающих ViewState до неприличия я вижу ТОЛЬКО свойство EnableViewState=True/False.
Это как-то можно в WebConfig или где-то еще задать? Можно как-то заставить стандартные контролы (ну те же деревья) хранить свою состояние не во ViewState, а в Session?
...
Рейтинг: 0 / 0
08.06.2006, 17:21
    #33781425
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Да, конечно, можно хранить в Session - отключаете EnableViewState для контрола, а объект храните в Session и обращаетесь в ней каждый раз когда надо.
...
Рейтинг: 0 / 0
08.06.2006, 18:24
    #33781695
vbnet2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Ну этот путь понятен. Слишком много писать кода самому - уж больно тупые контролы получаются. Плюс конечно AutoPostBack по каждому щелчку...
Я думал, может есть какой-то ЦЕНТРАЛЛИЗОВАННЫЙ механизм для всех контролов приложения. Ведь ничто не мешает среде ASP2 САМОЙ записывать состояние контролов не в HTML-поток, а в SESSION. Если АВТОМАТИЧЕСКАЯ поддержка такого способа сохранения состояния контролов не реализована - это ж явный баг и органиченность среды...

Вот в моем случае Web-сервер имеет 8 ГБ памяти, которая просто никак и никогда не заполняется даже не пару процентов, почему ж это все должно гулять бестолку, а вместо этого я должен целые километры XML BIN64 с состояниями разргужать на клиента в каждом WebResponse а потом их еще и принимать и обрабатываит в каждом WebRequest... Ну что за маразм...
...
Рейтинг: 0 / 0
08.06.2006, 18:40
    #33781735
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
авторЕсли АВТОМАТИЧЕСКАЯ поддержка такого способа сохранения состояния контролов не реализована - это ж явный баг и органиченность среды...

<off>
ИМХО что мешает сменить среду разработки... я как непосмотрю у тебя вечные траблы и виноваты в этом никто иной как MS и их среда разработки...
и вот, я начинаю думать - может у одной из сторон - ты и MS - действительно есть проблемы... и прихожу к выводу что проблемная сторона - это не MS ;)
</off>
...
Рейтинг: 0 / 0
08.06.2006, 19:46
    #33781866
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
мда, это что ж получаеца, каждое свойство контрола хранить в сессии? Это ж сервер еб..ца так может от такой нагрузки то! Да и нафиг такое вообще надо? 95% свойств контрола вообще нет необходимости сохранять между постбэками
и прихожу к выводу что проблемная сторона - это не MS
тут позволю себе не согласица. Контролы MS ИМХО действительно немного туповаты. Например, возьмем банальный CheckBox. Посмотрел я на его метод OnPreRender и тихо заплакал. Ну нахрена скажите мне пожалуйста там стоит Page.RegisterRequiresPostBack(this);?! - это ж никакое отключение ViewState даже на самом высшем уровне (eg Page) не поможет, и распухать он oт такой регистрации будет неплохо.
Мы, например, разработали свой собственный Framework нужных нам контролов с довольно серъезной поддержкой на стороне клиента. И ни в одном случае не использовали стандартный контрол от мелкомягких, что позволило значительно сократить размер ViewState. Мы пошли дальше - в базовом классе нашей Page на рендере стоит проверка на предмет использования контролов от MS и если такой имееца, то девелопера страшно ругают exception'ом с указанием того, какой контрол нужно использовать взамен. Это було сделано чисто для новопришедших ну и конечно под DEBUG.

PS: это конечно мое большое ИМХО, но контролы от MS могут удовлетворить только, не в обиду будет сказано, начинающих или не особо придирчивых профессиноалов :).


_______________________________________________________
Never ask users what they want, or they'll tell you.
...
Рейтинг: 0 / 0
08.06.2006, 22:25
    #33782003
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Лиман Артёммда, это что ж получаеца, каждое свойство контрола хранить в сессии? Это ж сервер еб..ца так может от такой нагрузки то! Да и нафиг такое вообще надо? 95% свойств контрола вообще нет необходимости сохранять между постбэками
и прихожу к выводу что проблемная сторона - это не MS
тут позволю себе не согласица. Контролы MS ИМХО действительно немного туповаты. Например, возьмем банальный CheckBox. Посмотрел я на его метод OnPreRender и тихо заплакал. Ну нахрена скажите мне пожалуйста там стоит Page.RegisterRequiresPostBack(this);?! - это ж никакое отключение ViewState даже на самом высшем уровне (eg Page) не поможет, и распухать он oт такой регистрации будет неплохо.
Мы, например, разработали свой собственный Framework нужных нам контролов с довольно серъезной поддержкой на стороне клиента. И ни в одном случае не использовали стандартный контрол от мелкомягких, что позволило значительно сократить размер ViewState. Мы пошли дальше - в базовом классе нашей Page на рендере стоит проверка на предмет использования контролов от MS и если такой имееца, то девелопера страшно ругают exception'ом с указанием того, какой контрол нужно использовать взамен. Это було сделано чисто для новопришедших ну и конечно под DEBUG.

PS: это конечно мое большое ИМХО, но контролы от MS могут удовлетворить только, не в обиду будет сказано, начинающих или не особо придирчивых профессиноалов :).


_______________________________________________________
Never ask users what they want, or they'll tell you.

Интересна вот финансовавая подплека соззлания собственного FW. Вы сделали свой FW c с довольно серъезной поддержкой на стороне клиента , чтобы разгрузить сервер ? Не проще ли купить, например, HP ProLiant DL380 R04 за 5К , получить вменяемое быстродействие и не тратить время на создание своего FW ?
Если ваш FW создавало 5 программистов с зарплатой в 1К в течении месяца хоты бы, то выгода от своего FW имхо очень условна.
Еcли поставить enableviewstate=false, то viewstate cокращается до минимуму, зачем его сводить к нулю ?
...
Рейтинг: 0 / 0
08.06.2006, 22:41
    #33782014
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
to Лиман Артём
мне глубоко и надолго на то, сколько это всё вам стоило, но лично от тебя я не слышал ниодного упрёка в адрес MS (до сего дня), хотя оказывается вы там зашли в такие дебри как свой FW ;) просто нужно было - закатали рукава и сделали - не критикуя ни среду разработки ни MS...
P.S.
Лиман Артёмтут позволю себе не согласица
не согласиться с чем, с тем что из двух сторон MS vs vbnet2000 - баллы в пользу MS ?
P.P.S.
Лиман АртёмКонтролы MS ИМХО действительно немного туповаты.
просто вы не умеете их готовить... ;)
...
Рейтинг: 0 / 0
08.06.2006, 23:10
    #33782055
vbnet2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Код: plaintext
не согласиться с чем, с тем что из двух сторон MS vs vbnet2000 - баллы в пользу MS?
Странное сравнение компании, в которой трудится 41 тысяча программистов с ОДНИМ программистом, который удивляется, что в Web.Config нет так необходимого флага - "Среде ASP.NET запрещается гонять километры XML кода с состояниеми контролов на клиента, а хранить их на сервере"...

Я рискну предположить,что нормальная РАЗВИТАЯ Web-среда должна была бы не только уметь хранить состояния контролов в SESSION, но даже где-нибудь в MSDE, раз уж он вошел стандартным компонентом в Aplication Server наряду с IIS...

А насчет того, что для сервера хранение этих ViewState будет нереально - замечу, что MSDE с парой гиг памяти ЛЕГКО обслуживает ТЫСЯЧИ достаточно веских запросов в секунду (ну при правильной организации этого дела конечно). Это что касается ВСТРОЕННОЙ поддержки хранения ViewState скажем в MSDE, то же самое хранение этих ViewState можно организовать и в каком-то ином более специ ализированном XML-кеширующем механизме.

Тут, при всем уважении к VladGrig - речь идет не о сравнении VBNET2000 vs MS, а О НЕДОСТАТОЧНОЙ НЕПРОДУМАННОСТИ КОНЦЕПЦИИ ASP.NET, недоработанности ее, сырости, несмотря даже на огромную рекламную шумиху, поднятую богатейшим человеком планеты по поводу этого своего продукта...
...
Рейтинг: 0 / 0
09.06.2006, 00:35
    #33782127
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
авторТут, при всем уважении к VladGrig
Взаимно, с неменьшим уважением...

P.S.

С одной стороны:
автор Странное сравнение компании, в которой трудится 41 тысяча программистов с ОДНИМ программистом , который удивляется
то есть чуство МЕРЫ всё таки присутствует ;)

С другой стороны:
авторЯ рискну предположить,что нормальная РАЗВИТАЯ Web-среда должна была бы не только уметь хранить состояния контролов в SESSION, но даже где-нибудь в MSDE, раз уж он вошел стандартным компонентом в Aplication Server наряду с IIS...

авторО НЕДОСТАТОЧНОЙ НЕПРОДУМАННОСТИ КОНЦЕПЦИИ ASP.NET, недоработанности ее, сырости, несмотря даже на огромную рекламную шумиху, поднятую богатейшим человеком планеты по поводу этого своего продукта...
Абсолютное отсутствие здравого смысла...

Мой вывод:
MS нехватает одного ведущего и координируещего программера - с ником vbnet2000
P.P.S. кстати, только перед отправкой заметил
vbnet2000 О НЕДОСТАТОЧНОЙ НЕПРОДУМАННОСТИ КОНЦЕПЦИИ ASP.NET
недостаточная непродуманность == достаточная продуманность ... LOL даже в этом умудрился намутить ;)
...
Рейтинг: 0 / 0
09.06.2006, 00:54
    #33782145
vbnet2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Не увидел у вас аргумента, почему ИМЕННО отсутствие умения ASP.NET хранить состояния контролов в MSDE является достоинством этой среды, а не ее недостатком.
...
Рейтинг: 0 / 0
09.06.2006, 00:57
    #33782146
vbnet2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
А еще у меня остались до сих пор пару актуальных и нерешенных практических проблем - если идеи есть - подскажите:
http://www.sql.ru/forum/actualthread.aspx?tid=300888
http://www.sql.ru/forum/actualthread.aspx?tid=300863
...
Рейтинг: 0 / 0
09.06.2006, 12:25
    #33782960
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
big-dukeИнтересна вот финансовавая подплека соззлания собственного FW.
не переживай, себе в убыток мы бы ничего не делали бы ;)
big-duke
Вы сделали свой FW c с довольно серъезной поддержкой на стороне клиента , чтобы разгрузить сервер ?
для того, что бы клиент только рот раскрывал, когда видел перед собой наши разработки :)
big-dukeЕсли ваш FW создавало 5 программистов с зарплатой в 1К в течении месяца хоты бы, то выгода от своего FW имхо очень условна.
ну вообщето не один месяц, а уже около года, и дальше продолжает развиваца, но и зарплата не в 1к (в нашем городе таких зарплат не бывает )
big-dukeЕcли поставить enableviewstate=false, то viewstate cокращается до минимуму, зачем его сводить к нулю ?
к нулю viewstate ты никогда не сведешь. Даже нам такое не под силу А вот минимизировать его использование нам всё таки удалось.

vladgrigне согласиться с чем, с тем что из двух сторон MS vs vbnet2000 - баллы в пользу MS?
да нет конечно, позицую vbnet2000 я не разделяю. Но то что MS грешная - это точно )

vladgrigпросто вы не умеете их готовить... ;)
вообщето у нас есть проэкты, которые написаны на чистом asp.net, но честно говоря они и рядом не стоят с тем, что у нас есть сейчас.

PS: я абсолютно не настаиваю на том, что контролы от MS вообще нельзя использовать, думаю процентов 90% команд пишут проэкты с их использованием и абсолютно удовлетворены. И вообще я не сторонник подобных дебатов - кто на чем пишет - это его личное дело. Как по мне - главное, что бы за это платили :)
...
Рейтинг: 0 / 0
09.06.2006, 16:20
    #33783901
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session
Лиман Артёмкто на чем пишет - это его личное дело. Как по мне - главное, что бы за это платили :)
потпесался
думаю на этом наш офф можно закончить :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как понять рекомендацию хранить крупные обьекты не во ViewState, а в Session / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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