Могут ли два приложения Silverlight совместно использовать IsolatedStorage на одном компьютере? - PullRequest
5 голосов
/ 14 апреля 2010

Что определяет приложение Silverlight, и когда два приложения Silverlight могут совместно использовать IsolatedStorage, т.е.

  • если я хочу иметь два приложения Silverlight поделиться пространство изолированного хранилища, возможно ли это? Какой "идентификатор приложения" мне нужно дать, чтобы сделать это?
  • если я не хочу, чтобы два приложения Silverlight совместно использовали IsolatedStorage, как мне предотвратить это? Нужно ли это делать?

Например, я заметил, что когда я разрабатываю приложение Silverlight, я могу нажать F5, в приложении сохранить в изолированном хранилище, остановить приложение, снова нажать F5, и оно читает из того же IsolatedStorage. (Я думаю, что новая компиляция привела бы к использованию нового IsolatedStorage.)

Однако, когда я затем копирую файлы .xap и .html в другой каталог и открываю файл .html, он НЕ разделяет IsolatedStorage с приложением, которое я разрабатывал. Что изменилось?

Что происходит за кулисами, так что я знаю, когда IsolatedStorage используется совместно, а когда нет?

Ответы [ 2 ]

6 голосов
/ 14 апреля 2010

URL-адрес исходного файла XAP идентифицирует приложение. Вы хотели бы, чтобы новая версия приложения могла читать существующее хранилище для предыдущей версии. Рассмотрим игру, в которой все рекорды хранятся в магазине приложений. Пользователь может быть немного расстроен, когда все эти оценки исчезают после того, как они обновили его.

Различные приложения могут совместно использовать один магазин на основе сайта. Однако вы получаете только эти два уровня детализации, уровень приложения, заданный на URL-адресе XAP, или основанный на сайте, который является хостом и портом (я не уверен, является ли схема частью этого ключа).

1 голос
/ 14 апреля 2010

Если память мне не изменяет, изолированное хранилище может использоваться в рамках приложения и области действия страницы. Так что - если я правильно понимаю, что я помню, я бы сказал - да.

Редактировать

Из копии Pro Silverlight 3.0 в C #, которая у меня есть:

(стр. 636) С изолированным хранилищем создается уникальное место хранения для каждой комбинации пользователя и приложения. Другими словами, один и тот же компьютер может иметь несколько выделенных мест хранения для одного и того же приложения, каждый из которых предназначен для другого пользователя. Точно так же один и тот же пользователь может иметь несколько мест хранения по одному для каждого приложения Silverlight

(стр. 637) ... GetUserStoreForFile (). Этот метод обеспечивает хранилище, доступное для всех приложений Silverlight в одном домене веб-сайта, однако эти настройки по-прежнему зависят от пользователя

...