Загрузка файла в silverlight - PullRequest
       1

Загрузка файла в silverlight

3 голосов
/ 29 октября 2010

Я хотел бы загрузить пользовательский файл, помещенный как файл ресурсов, в мое приложение silverlight, но FileStream не работает (поскольку я должен оставаться в среде с частичным доверием).

Есть ли какое-либо решениезагрузить мой файл?(это двоичные сериализованные данные).

ОБНОВЛЕНИЕ Ответ найден:

  • Я помещаю свой файл как «Ресурс» (не внедряется ни содержимое, ни что-либоеще)
  • Загружается так:

    StreamResourceInfo info = Application.GetResourceStream (new Uri (@ "/ Utilitaires; component / Resources /" + name, UriKind.Relative));

А затем с помощью свойства "info.Stream".

Теперь у меня есть другой вопрос.Делая это, файл добавляется в сборку (в exe / dll) и становится немного больше.

Но так как эти данные необходимо загружать одновременно со сборкой, следуетЯ позволю им в качестве ресурса, или использовать другой метод, чтобы загрузить их отдельно?(и какой должен быть метод? Мне нужно, чтобы он работал как локально, так и на сервере).

Спасибо,

KiTe

1 Ответ

0 голосов
/ 30 октября 2010

Поскольку вам нужен ресурс одновременно с загрузкой сборки, единственной другой причиной размещения файла вне Xap будет разрешение на изменение файла без изменения Xap.

ЛичноЯ бы включил файл как «Контент», а не «Ресурс».Это означает, что файл заканчивается как запись в Xap (который является просто файлом Zip), а не внутри DLL.

Вы по-прежнему используете GetResourceStream для доступа к нему, но URL становится чем-то вроде: -

new Uri(@"/Assets/" + name, UriKind.Relative)

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

Использование такого подхода дает вам лучшее из обоих миров,Файл включен в Xap, но если по какой-либо причине необходимо изменить содержимое файла, Xap можно открыть как файл Zip и заменить файл.

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