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

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

Конечно, как вариант остается, разбитие DataList на странички и их своевременная подгрузка по частям. А DataTable постоянно формировать новый.
Всем заранее спасибо.
...
Рейтинг: 0 / 0
хотелось бы узнать мнение специалистов
    #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
хотелось бы узнать мнение специалистов
    #33365534
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хранить все на сервере БД и использвать нормальные запросы, который возвращают только то, что нужно...

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

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

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

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

Не смешите людей
...
Рейтинг: 0 / 0
хотелось бы узнать мнение специалистов
    #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
хотелось бы узнать мнение специалистов
    #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
хотелось бы узнать мнение специалистов
    #33367729
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter
Говорилось о провайдерах типа ODP.NET, ODAC.NET, SDAC.NET, и т.д., в которых базовые методы переписаны.

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

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

присоединяюсь к мнению
Лиман АртёмТак что, в любом случаю рекомендую подумать о хорошем пэйджинге на стороне сервера. За основу можна взять вот эту статью - сам ее в своем время заюзал.
...
Рейтинг: 0 / 0
хотелось бы узнать мнение специалистов
    #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
16 сообщений из 16, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / хотелось бы узнать мнение специалистов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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