Нумерация страниц на стороне сервера Asp.net - PullRequest
0 голосов
/ 05 февраля 2010

Мой сценарий - я получу некоторые загрузки данных в формате csv на моем сервере, которые будут иметь более 60 тыс. Записей.и номера столбцов могут изменить файл в файл, теперь моя проблема в том, что я хочу отобразить содержимое этого в виде списка с нумерацией страниц.и я не хочу загружать все данные на клиентскую сторону, я хочу, чтобы данные извлекались только при необходимости.

как мне это сделать с помощью listview и datapager?я знаю, что datapager поддерживает только linqdatasource для разбиения на страницы на стороне сервера?есть ли другие возможности?или рекомендации для этого

Заранее спасибо

1 Ответ

1 голос
/ 05 февраля 2010

Если вы импортируете CSV в таблицу, вам будет намного проще работать с ним, и намного быстрее, чем работать с CSV напрямую. Пример того, как это сделать, CodeProject .

Затем можно просмотреть эти записи, используя подкачки на стороне сервера для повышения эффективности.

Обновление: Если CSV совпадает с определенной схемой, у вас не будет динамического создания таблиц. У меня было бы два стола. Один для хранения ссылки на файл (uniqueId, имя файла / путь, UserId), а другой для FileItems (ваша схема плюс внешний ключ File.UniqueId). Таким образом, вы можете заблокировать файл для пользователя, который обращается к нему. Проблемы с блокировками и параллелизмом - это отдельный вопрос, и есть много способов, как вы можете подойти к этому.

Если вы хотите выполнять операции непосредственно с 60k-записями в CSV-файле, это будет медленным. Обойти это невозможно, если вы не кешируете набор данных из CSV и не работаете с кешем. Для меня хранение базы данных - лучшая среда, чем кеш. Он также дает вам историческую запись о том, что делается, и, если что-то дает ошибки, пока вы работаете в Grid, вы сохраняете данные в базе данных без повторной загрузки файла CSV.

...