[英]File Permissions Issue with Silverlight
我在Visual Studio中有一个Silverlight 4 / C#项目。 我通过右键单击项目>>添加新项>> Xml文件来制作XML数据文件。 然后,我尝试打开文件:
StreamReader streamReader = new StreamReader("data.xml");
但是,这给出了安全例外。 我该如何解决这个问题,或授予必要的权限?
您是否只需要能够在执行时读取文件? 如果是这样,我建议您将其设置为在Visual Studio中具有Resource build操作,然后使用Assembly.GetManifestResourceStream
将其打开。 这是将只读数据与应用程序IMO捆绑在一起的最简单方法。
Silverlight默认情况下不允许本地文件系统访问。 您的选择是:
如果通常需要存储数据,请尽可能使用IsolatedStorage。
StreamReader的构造函数期望进入本地文件系统的文件路径,该路径仅在具有增强信任的浏览器中可用。
相反,您应该使用Application.GetResourceStream
:-
Stream stream = Application.GetResourceStream(new Uri("data.xml", UriKind.Relative));
StreamReader reader = new StreamReader(stream);
但是我希望您真的只希望在XDocument
,而绕过了StreamReader阶段:
XDocument doc = XDocument.Load(stream);
顺便说一句,我个人将XML作为内容保留在Xap中,而不是将其嵌入到程序集中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.