Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / хотелось бы узнать мнение специалистов / 16 сообщений из 16, страница 1 из 1
07.11.2005, 21:57
    #33365247
Вопросник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Есть такая ситуация, на страничку при первой загрузке подгружается немерянный DataTable, 10 000 строк может более, в дальнейшем хотелось бы просто "откусывать" от него необходимыми запросами информацию, ну и тут становится главная проблема, каким образом данный DataTable хранить, и ГДЕ? Естественно в viewstate страничке - было бы не очень, может в Session? да плюс к этому Session настроить на БД?

Кстати, вот особенно так и не дорубаюсь, почему многие против этого объекта Session, например все мои американские друзья, любящие компанию Microsoft
дружно заявляют что Session не трогай не в коем случаи, он ПЛОХОЙ. Мол, каким то образом это ставит под угрозу безопасность сайта. Я не хочу узнать каким. Просто интерестно как выкрутится по красивому из вопроса.

Конечно, как вариант остается, разбитие DataList на странички и их своевременная подгрузка по частям. А DataTable постоянно формировать новый.
Всем заранее спасибо.
...
Рейтинг: 0 / 0
08.11.2005, 02:43
    #33365354
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Page.Cache

ASP.NET has a powerful, easy-to-use caching mechanism that allows you to store objects that require a large amount of server resources to create in memory. It is implemented by the Cache class, with instances private to each application, and its lifetime is tied to that of the application. When the application is restarted, the Cache object is recreated.
...
Рейтинг: 0 / 0
08.11.2005, 09:33
    #33365534
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
хранить все на сервере БД и использвать нормальные запросы, который возвращают только то, что нужно...

с уважением...
...
Рейтинг: 0 / 0
08.11.2005, 12:16
    #33366128
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Согласен - изначальное принудительное отфильтровывание ненужных данных.
Например, не выводить данные, пока не заданы значения каких-то фильтров/а.
...
Рейтинг: 0 / 0
08.11.2005, 18:23
    #33367469
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
AxeleronСогласен - изначальное принудительное отфильтровывание ненужных данных.
Например, не выводить данные, пока не заданы значения каких-то фильтров/а.

Можно и без фильтра, это не обязательно. На сколько я знаю, DataAdapter.Fill(..) метод может возвращать указанное количество строк, если ADO.Net провайдер этот режим поддерживает.
...
Рейтинг: 0 / 0
08.11.2005, 18:37
    #33367505
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
DataAdapter.Fill(..) в работе не использую, потому не могу насчёт него что-либо сказать. Просто на начальном этапе надо постараться принудить пользователя задать фильтр.
...
Рейтинг: 0 / 0
08.11.2005, 18:47
    #33367527
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Relic HunterНа сколько я знаю, DataAdapter.Fill(..) метод может возвращать указанное количество строк, если ADO.Net провайдер этот режим поддерживает.
эта поддержка осуществляеца не на уровне провайдера. Данные загружются ВСЕ, а далее усекаюца. Но повторяю - на клиент сначало попадает ВСЕ. так что не рекомндую использовать этот способ для особо больших данных.

2автор, фильтр может и не помочь, так как результатом запроса по фильтру также может быть большая выборка.
Так что, в любом случаю рекомендую подумать о хорошем пэйджинге на стороне сервера. За основу можна взять вот эту статью - сам ее в своем время заюзал.
...
Рейтинг: 0 / 0
08.11.2005, 18:48
    #33367529
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
AxeleronDataAdapter.Fill(..) в работе не использую, потому не могу насчёт него что-либо сказать. Просто на начальном этапе надо постараться принудить пользователя задать фильтр.

А откуда Вы знаете, сколько строк вернет SQL даже с фильтром? Отож. А DataAdapter.Fiil(..) вернет столько сколько пользователь может увидеть на странице. Если нужно полистать возвращем следующуь страницу. Надеюсь не надо объясняь, что DataSet не хранится при переходе страниц. Вот тут его нужно и сохранить в Page.Cache, на случай если юзер захочет вернуться обратно. Подумайте над этим.
...
Рейтинг: 0 / 0
08.11.2005, 19:39
    #33367625
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Лиман АртёмТак что, в любом случаю рекомендую подумать о хорошем пэйджинге на стороне сервера.
Ну это вообще высший класс. Обещаю подумать :) Но наиболее простым и универсальным способом всё же остаётся предварительная фильтрация данных. При этом можно перед загрузкой данных с сервера на клиент проверить сколько строк возвращает запрос с данным фильтром. Если больше числа N, потребовать от пользователя уточнить запрос, установить более точный фильтр, чтобы сузить область поиска.
...
Рейтинг: 0 / 0
08.11.2005, 20:06
    #33367661
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Лиман АртёмДанные загружются ВСЕ, а далее усекаюца. Но повторяю - на клиент сначало попадает ВСЕ. так что не рекомндую использовать этот способ для особо больших данных.

Не смешите людей
...
Рейтинг: 0 / 0
08.11.2005, 20:43
    #33367695
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Relic HunterНе смешите людей
Чем это я тебя так насмешил?

MSDN
DbDataAdapter.Fill Method (DataSet, Int32, Int32, String)
sds
........
Note The DataSet will not contain more than the number of records indicated by maxRecords. However, the entire resultset generated by the query is still returned from the server .


ну а так же просмотр source через Reflector так же помагает пролить свет.
...
Рейтинг: 0 / 0
08.11.2005, 21:17
    #33367721
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
MSDN
DbDataAdapter.Fill Method (DataSet, Int32, Int32, String)
sds
........
Note The DataSet will not contain more than the number of records indicated by maxRecords. However, the entire resultset generated by the query is still returned from the server .


Говорилось о провайдерах типа ODP.NET, ODAC.NET, SDAC.NET, и т.д., в которых базовые методы переписаны. Хотя в случае предпочтения пользования базовыми классами :), типа DbDataAdapter, ты прав такая возможность (int32, int32) отсутствует. Что, собственно, и было сказано мною.
...
Рейтинг: 0 / 0
08.11.2005, 21:28
    #33367729
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Relic Hunter
Говорилось о провайдерах типа ODP.NET, ODAC.NET, SDAC.NET, и т.д., в которых базовые методы переписаны.

когда говорилось, что то не припомню? Я конечно имел ввиду стандартный набор провайдеров в библиотеке framework.
...
Рейтинг: 0 / 0
08.11.2005, 21:45
    #33367749
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Лиман Артёмкогда говорилось, что то не припомню? Я конечно имел ввиду стандартный набор провайдеров в библиотеке framework.

авторМожно и без фильтра, это не обязательно. На сколько я знаю, DataAdapter.Fill(..) метод может возвращать указанное количество строк, если ADO.Net провайдер этот режим поддерживает .
...
Рейтинг: 0 / 0
09.11.2005, 10:24
    #33368254
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
мдя...

присоединяюсь к мнению
Лиман АртёмТак что, в любом случаю рекомендую подумать о хорошем пэйджинге на стороне сервера. За основу можна взять вот эту статью - сам ее в своем время заюзал.
...
Рейтинг: 0 / 0
04.03.2006, 07:42
    #33581655
007
007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хотелось бы узнать мнение специалистов
Relic Hunter MSDN
DbDataAdapter.Fill Method (DataSet, Int32, Int32, String)
sds
........
Note The DataSet will not contain more than the number of records indicated by maxRecords. However, the entire resultset generated by the query is still returned from the server .


Говорилось о провайдерах типа ODP.NET, ODAC.NET, SDAC.NET, и т.д., в которых базовые методы переписаны. Хотя в случае предпочтения пользования базовыми классами :), типа DbDataAdapter, ты прав такая возможность (int32, int32) отсутствует. Что, собственно, и было сказано мною.


??SDAC.NET?? где такое можно найти, я поискал CoreLab, такое не предлагают)))
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / хотелось бы узнать мнение специалистов / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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