Я хотел бы, чтобы изолированное хранилище в моем приложении Silverlight определялось доменом xap, из которого он загружается, а не доменом хоста, отображаемым в URL-адресе браузера, который он делает по умолчанию.Изменение идентификатора хранилища Silverlight
В соответствии с документацией Types of Isolated Storage должен быть способ хранения в соответствии с «Идентификатором издателя», решив называть сборку, вместо того, чтобы идентифицировать хранилище по URL-адресу, предоставляющему приложение. Я цитирую:
Сборочная идентификация является доказательством сборки. Это может произойти от от криптографической цифровой подписи, которая может быть сильным именем сборки , разработчиком программного обеспечения сборки или его URL-адресом . Если сборка имеет как сильное имя, так и программное обеспечение , то используется идентификатор издателя программного обеспечения. Если сборка происходит из Интернета и не имеет знака, используется идентификатор URL .
Я настоятельно назвал сборку (sn проверен) и добавил сертификат к доверенному корню на моей машине. Я обслуживаю страницу локально через iis, но хранилище по-прежнему идентифицируется URL-адресом сайта.
Я попытался создать в магазин 2 различными способами:
IsolatedStorageSettings.SiteSettings[mykey] = myvalue;
//and
IsolatedStorageFile.GetUserStoreForApplication().CreateFile("myfile.txt");
Идентификатор можно увидеть внутри C:\Users\afeldman\AppData\LocalLow\Microsoft\Silverlight\is\20ngypzr.gs4\1l3t5sqo.aji\1\s\...\id.dat
текстового файла, и, к сожалению, он остается привязанным к принимающей URL.
Неужели кому-то удалось идентифицировать изолированное хранилище с идентификатором URL-адреса другого хоста, используя жестко названные сборки или любые другие средства?
Вы вызываете GetUserStoreForApplication(), возможно, попробуйте GetUserStoreForAssembly() http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile.getuserstoreforassembly(v=vs.110).aspx –
'GetUserStoreForAssembly()' недоступен для Silverlight – Alex