WPF listview / gridview ужасная производительность, предложения

Я новичок в этом вопросе, так что я просто рекомендую хэшировать и складывать пароли, я не могу предложить намного больше понимания, но я нашел это видео , которое я нашел довольно обширным и интересным по этому вопросу, и даже он показывает некоторые примеры кода и примеры, я рекомендую начинать с этого и возвращаться с сомнениями из этого!

Общая суть вещей - получить исходную строку пароля и сгенерировать случайную строку с ней, объединяя оба, затем хешируя их объединенную форму и сохраняя хешированную форму обоих и случайную строку, затем, когда этот человек собирается войти в систему, вы применяете ту же самую соль к вставленному паролю и сравниваете ее с хешированной формой в вашем базы данных.

Это имеет преимущества перед стандартным хэшированием, потому что случайная строка уникальна для каждого пользователя, то есть все хэши, даже с одинаковыми паролями, будут разными, тогда как при обычном хешировании вы получите одинаковый хеш для тех же паролей, и, таким образом было бы проще взломать некоторые, если бы у многих пользователей был один и тот же пароль, что нельзя сделать в этом случае, поскольку каждый хеш-ключ отличается.

Итак, запомните, сгенерируйте случайную строку, скомпонуйте ее, хэшируйте конкататированную строку, сохраните хэш и случайную строку в БД и сравните при входе в систему.

6
задан 20 February 2009 в 19:32
поделиться

5 ответов

Проверьте эти свойства:

VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling"
ScrollViewer.IsDeferredScrollingEnabled="True"
8
ответ дан 8 December 2019 в 13:49
поделиться

Сначала угадайте, Вы используете сложные шаблоны данных для каждого ListViewItem? Это могло бы быть чем-либо из большого количества изображений, к (старому) BitmapEffects, даже к лениво загруженным свойствам, которые выбирают данные по требованию из базы данных (который может заставить Вас выполнять много вызовов дб для рендеринга каждого визуального, в зависимости от того, как модель данных работает).

Второе предположение, список, который сам в состоянии выполнять загружать/добавлять/изменил/удалил стандартные программы быстро (значение, что проблема происходит при рендеринге данных), или делает сам список, медленно делают те работы (указание, что список имеет некоторую проблему).

2
ответ дан 8 December 2019 в 13:49
поделиться

Вы попробовали виртуализацию, как рекомендуется в этом вопросе??

WPF ListView очень Медленная производительность - почему? (ElementHost или другая причина?)

1
ответ дан 8 December 2019 в 13:49
поделиться

И очевидный, удостоверьтесь, что Вы обновили до .net 3.5 SP1, было большое увеличение производительности там.

Также может стоить изучить WPF datagridview управление, поскольку большая работа производительности в .net 3.5 SP1 была так datagridview, будет иметь хорошую производительность на больших наборах данных.

http://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25047

1
ответ дан 8 December 2019 в 13:49
поделиться

You need to virtualize your ListView's ItemSource as explained in this article: WPF: Data Virtualization on CodeProject by Paul McClean

5
ответ дан 8 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: