ApplicationData.GetPublisherCacheFolder(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает указанную вложенную папку общей папки хранилища для издателя текущего приложения.
public:
virtual StorageFolder ^ GetPublisherCacheFolder(Platform::String ^ folderName) = GetPublisherCacheFolder;
StorageFolder GetPublisherCacheFolder(winrt::hstring const& folderName);
public StorageFolder GetPublisherCacheFolder(string folderName);
function getPublisherCacheFolder(folderName)
Public Function GetPublisherCacheFolder (folderName As String) As StorageFolder
Параметры
- folderName
-
String
Platform::String
winrt::hstring
Вложенная папка, полученная из папки общего хранилища для издателя текущего приложения.
Возвращаемое значение
Указанная вложенная папка.
Комментарии
Строгой модель безопасности приложения среда выполнения Windows обычно не позволяет приложениям обмениваться данными между собой. Однако это может быть полезно для приложений от одного издателя, чтобы предоставлять общий доступ к файлам и параметрам для каждого пользователя. Издатель может зарегистрировать свое приложение для размещения в общей папке вместе с другими приложениями, которые он издает, путем добавления расширения к манифесту приложения.
Ниже приведены некоторые примеры использования этой общей папки хранилища при публикации нескольких приложений.
- Предоставление общего доступа к файлам. Например, если несколько приложений используют одни и те же изображения или одни и те же пользовательские шрифты, эти файлы можно сохранить в папке общего хранилища.
- Предоставление общего доступа к параметрам пользователя в файле пользовательских параметров. Например, если в нескольких приложениях используются температуры, можно сохранить копию предпочтений пользователя по Цельсию или По Шкале По Шкале в файле пользовательских параметров в общей папке хранилища. Рекомендуется также хранить параметры пользователя в каждом приложении или в другом расположении master, так как пользователь может очистить содержимое общей папки хранилища. Папка общего хранилища для издателя приложения автоматически подготавливается, когда пользователь устанавливает первое приложение из издателя.
К папке общего хранилища предъявляют следующие требования и ограничения.
- Данные в папке общего хранилища не архивируются и не перемещаются. Кроме того, пользователь может очистить содержимое общей папки хранилища.
- Эту функцию нельзя использовать для обмена данными между приложениями от разных издателей.
- Эту функцию нельзя использовать для обмена данными между разными пользователями.
- В папке общего хранилища нет управления версиями.
Регистрация приложения для использования общей папки хранилища издателя
Вручную введите XML,как в следующем примере, в манифесте приложения, чтобы зарегистрировать вложенные папки. Вам не нужно создавать эти вложенные папки. Они автоматически подготавливаются для вас.
<Package>
…
<Extensions>
…
<Extension Category="windows.publisherCacheFolders">
<PublisherCacheFolders>
<Folder Name="Folder1"/>
<Folder Name="Folder2"/>
</PublisherCacheFolders>
</Extension>
…
</Extensions>
…
</Package>
Доступ к данным в общей папке хранилища издателя
Вызовите метод GetPublisherCacheFolder, чтобы получить одну из зарегистрированных вложенных папок из общей папки хранилища.
Затем используйте свойства и методы класса StorageFolder для чтения и записи файлов и вложенных папок в общей папке.
Доступ к папке общего хранилища имеет следующие требования и ограничения.
- Вложенная папка по умолчанию отсутствует. При вызове метода GetPublisherCacheFolder необходимо указать вложенную папку.
- Вы можете получить доступ только к вложенным папкам, зарегистрированным в манифесте приложения.
- Вы не можете получить доступ к корню общей папки хранилища.
Очистка данных в общей папке хранилища издателя
Вызовите метод ClearPublisherCacheFolderAsync , чтобы удалить файлы и вложенные папки из указанной вложенной папки общего хранилища для издателя текущего приложения.
Папка общего хранилища автоматически очищается при удалении последнего приложения издателя.
Данные, сохраненные в папке общего хранилища, не связаны с приложением, которое их сохранило. При удалении приложения, которое сохранило данные, данные остаются в папке общего хранилища до тех пор, пока не будет удалено последнее приложение того же издателя.