在我的Silverlight应用程序中,我收到此错误:
不允许进行文件操作。访问路径'D:\ ocean.gif'被拒绝。
谁能告诉我为什么?
答案 0 :(得分:2)
默认情况下,不允许您从Silverlight应用程序访问本地文件系统;只有isolated file storage可用于标准Silverlight应用程序。
您可以将Silverlight应用程序配置为使用elevated trust。这将使您的SL应用程序完全访问本地文件系统。对于浏览器外的应用程序,这通常是最实用的;有许多deployment restrictions与浏览器内升级信任应用程序相关联。
更新另一种通常不需要您设置提升信任的替代方法是使用FileStream将图像读作OpenFileDialog:
var dlg = new OpenFileDialog();
if (dlg.ShowDialog().GetValueOrDefault())
{
var stream = dlg.File.OpenRead();
... read the stream using a suitable image reader class ...
}
我不能指出在Silverlight中工作的足够的图像流阅读器,但尝试谷歌搜索它。
要在应用程序中使用提升信任,只需在项目中启用提升信任。这在MSDN文档中有详细描述。