Производительность BinaryReader и Stream на WP7 - PullRequest
3 голосов
/ 12 мая 2011

Вопрос ...

Если вам необходимо, чтобы BinaryReader открывал файл, существует ли более эффективный способ сделать это, чем открытие потока для ресурса?

 System.IO.Stream myFileStream = Application.GetResourceStream(new Uri @"/MyApp;component/sdb.data", UriKind.Relative)).Stream;
 BinaryReader binaryReader = new BinaryReader(myFileStream);

Все остальное ...

Я использую Sterling База данных (codeplex) для приложения WP7.Приложение должно поставляться с большой базой данных уже внутри сборки.В настоящее время я пытаюсь с помощью Restore () Sterling создать базу данных из файла, в котором хранится ранее сохраненный файл (Backup ()).В настоящее время я беру файл резервной копии и устанавливаю его как «Ресурс» в приложении, как показано выше.Механизму стерлинговой базы данных требуется BinaryReader для загрузки данных через Restore ().В настоящее время восстановление занимает слишком много времени.Я начал обсуждение в Sterling Discussions , но разместил его здесь, в стеке, просто чтобы посмотреть, смогу ли я добиться большего успеха, чем поток к ресурсу.

1 Ответ

1 голос
/ 12 мая 2011

Выглядит так, как будто вы встраиваете свою базу данных в качестве ресурса - пытались ли вы установить свойство Build Action для файла в Content, а затем загрузить его следующим образом:

System.IO.Stream myFileStream = Application.GetResourceStream(new Uri(@"/component/sdb.data", UriKind.Relative)).Stream;

Хотя яЯ сам не пробовал, использование Content over Resource, по-видимому, влияет на производительность изображений, и, я полагаю, для других двоичных файлов: http://www.windowsphonegeek.com/tips/wp7-working-with-images-content-vs-resource-build-action

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...