Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Замена TreeView от Microsoft


Автор: max-anikin 2.2.2005, 19:25
Используем компонент TreeView от Microsoft в принципе он очень ничего но ... ViewState для него составляет 60% данных (от 6 до 250 kb), которые пересылаются от клиента к серверу и обратно. На данный момент любое изменение в дереве генерирует событие PostBack, возвращает данные на сервер, где формируется ответ на произведенные пользователем действия.
Таким образом, средний объем данных, пересылаемый между клиентом и сервером, для отображения TreeView составляет около 438 kb:
Сам компонент TreeView: 160 kb
ViewState компонента TreeView: 247 kb
Остальная часть фрейма: 31 kb
Т.е. время затрачиваемое на загрузку TreeView при пропускной способности канала 64 kbit/s составляет 438 * 1024 * 8/64000 = 56 seconds.

Необходимо уменьшить объем данных, пересылаемых от клиента серверу и обратно.
Какие еще кто знает компоненты для отображения дерева ... возможно самые простенькие. Уже замучался искать. Может кто еще подскажет как этот гребаный ViewState уменьшить. smile И кто знает почему он больше самого дерева в 1.5 раза ???
smile smile

Автор: Wowa 2.2.2005, 20:29
А у тебя TreeView от Microsoft в браузере что-ли ?

Автор: Domestic Cat 2.2.2005, 22:46
Купи ASP TreeView от obout inc smile

http://www.obout.com/obout/treeview/treeview.asp

Admin
угу, это контрол из ASP.NET 2.0.

Автор: Wowa 2.2.2005, 23:19
Вау. А что это за технология используется там?

Автор: Kurt 2.2.2005, 23:22
ASP.NET 2.0.?
То-то я, блин, все понять не могу - что за контрол такой. smile
Я ж на 1.1 сижу..

Автор: Domestic Cat 2.2.2005, 23:30
Ну так и я тоже на 1.1 smile
Зато есть ссылка
http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/treeview.asp

Цитата
А что это за технология используется там?

.NET

Автор: max-anikin 3.2.2005, 12:52
Так кто нить подскажет ответ на вопрос где найти можно бесплатный компонент ... smile ... и почему у Microsoft-овского такой ViewState здоровый и как его уменьшить ?? Чувствую придется писать что-то свое smile

Автор: Wowa 3.2.2005, 13:07
Вот именно за подобным - большое будушее. Я думаю, что этот шаг микрософта - просто первый. Поэтому решение такое громоздное, но скоро это станет обычным делом и будет много хороших и бесплатных решений.

Автор: max-anikin 3.2.2005, 19:01
Да нашел я бесплатный компонент ... но проблема осталась ... видно построение дерева требует такого большого ViewState !! Вот это и проблема ASP.Net вроде все замечательно - но когда отслеживание событий требует обмена данными ТАКОГО объема, то вся эта замечательность сходит на нет ... и решение только одно отслеживать события на клиенте и регестрировать ТАМ все изменения и на сервер пересылать только минимум необходимой информации а не весь объем увеличенный в два раза ... слов нет ... такая классная штука ASP.Net и такой облом ...

Автор: max-anikin 8.2.2005, 15:12
Проблема в принципе решилась ... но через такую жопу ...
1. ViewState пришлось отрубить и JScript-ами отслеживать изменения ... Объем данным уменьшился на ViewState т.е. на 250 kb ... осталось всего 170
2. Есть такая штука в IIS и IE как компрессия данных ... потоки на сервере зипуются !! Т.е. объем уменьшили до 70 kb может еще чего еще сделаем ... smile

3. Остался прикол, что после того как дерево было клиентом получено из-за его большого размера дерева IE рендерит это дерево 5-7 секунд ... какого ... ?? т.е. почему так долго ?? можно как-то это место ускорить ??

Если кому нужен скрипт по включению максимальной компрессии - то я его где-то через 3-5 дней тут выложу ... вот.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)