【发布时间】:2014-01-03 22:06:53
【问题描述】:
我希望我的 Silverlight 应用程序中的独立存储由它加载的 xap 的域来标识,而不是由浏览器 URL 中显示的主机域来标识,这是默认情况下执行的。
根据Types of Isolated Storage 文档,应该有一种方法可以通过强烈命名程序集来存储在“发布者身份”下,而不是通过提供应用程序的 URL 来标识存储。我引用:
程序集身份是程序集的证据。这可能会到来 来自加密数字签名,它可以是程序集的 强名称、程序集的软件发布者或其 URL 身份。如果程序集既有强名称又有软件 发布者身份,则使用软件发布者身份。如果 该程序集来自互联网且未签名,URL 标识 被使用了。
我已经强烈命名了程序集(sn 验证)并将证书添加到我机器上的受信任根目录中。我通过 iis 在本地提供页面,但商店仍由站点的 URL 标识。
我尝试了两种不同的方式来创建商店:
IsolatedStorageSettings.SiteSettings[mykey] = myvalue;
//and
IsolatedStorageFile.GetUserStoreForApplication().CreateFile("myfile.txt");
ID 可以在 C:\Users\afeldman\AppData\LocalLow\Microsoft\Silverlight\is\20ngypzr.gs4\1l3t5sqo.aji\1\s\...\id.dat 文本文件中看到,不幸的是它仍然与主机 URL 绑定。
有没有人设法通过使用强命名程序集或任何其他方式使隔离的商店用非主机 URL 标识符来标识?
【问题讨论】:
-
你正在调用 GetUserStoreForApplication(),也许可以试试 GetUserStoreForAssembly() msdn.microsoft.com/en-us/library/…
-
GetUserStoreForAssembly()不适用于 Silverlight
标签: .net silverlight isolatedstorage isolatedstoragefile