我考虑在C#/ .NET中编写一个应用程序,它将以编程方式更改用户计算机上的XML文件,并尝试确定Silverlight(以及哪些版本,以何种模式)将适用于此任务。
这是工作流程:
这在Silverlight中可行吗?如果是这样,在哪个版本和什么条件下?
答案 0 :(得分:3)
Silverlight运行时在安全“沙箱”内运行。
您只能通过“打开文件”对话框从计算机硬盘驱动器访问文件。您可以使用Silverlight 2及更高版本从Isolated Storage读取和写入。
进入Silverlight 4,您将能够访问“特殊目录”中的文件,例如“我的文档”,“我的音乐”,“我的图片”等。(http://weblogs.asp.net/nmarun/archive/2009/11/27/local-file-access-silverlight-4.aspx)
答案 1 :(得分:2)
这里的一些答案集中在隔离存储上。如果没有其他应用程序需要访问此数据,那么隔离存储可能就是您的答案。这篇link是一篇描述如何使用独立存储的博客。
我怀疑这可能不是您想要的,因为您有用户选择文件。
当然,在SL3中,您可以让用户选择该文件,然后您就可以阅读它了。
但是,为了再次保存,您必须向用户显示“保存文件”对话框,以获取您可以写入的文件流。
在SL4中运行具有提升的私有的OOB,您可以将这样的文件直接保存在用户文件夹中,例如“我的文档”。
修改强>
为了绝对清楚,您无法写入仅使用OpenFileDialog
读取获取的文件,您无法读取使用SaveFileDialog
仅使用Write获取的文件。
答案 2 :(得分:1)
SL3支持访问隔离存储区域,SL4可以进一步为受信任的应用程序打开访问权限,允许他们访问MyDocs,MyPictures等文件。
答案 3 :(得分:1)
Silverlight应用程序可能不会更改用户计算机上的任意文件。但是,他们可以使用隔离存储:
在本地存储文件在.NET Framework中,独立存储是一种存储机制,它使部分受信任的应用程序能够在本地计算机上保存数据,而不会违反计算机上设置的任何安全策略。隔离存储自.NET Framework的第一个版本开始就存在,对于通常不能访问标准I / O机制的下载的,部分受信任的组件尤其有用。但是,这些相同的应用程序通常被授予使用独立存储的权利。通过这种方式,来自潜在不受信任来源的应用程序仍然可以执行某些磁盘I / O,尽管是以受控方式。
您可以在以下文章中详细了解该内容:
答案 4 :(得分:1)
操作系统内置的文件打开/保存对话框允许Silverlight通过返回Silverlight应用程序可以访问的文件流来访问/修改用户指定的任何文件。
除此之外,Silverlight应用程序可以访问自己的独立存储。
答案 5 :(得分:0)
sl 4具有一些功能
http://www.silverlight.net/learn/videos/silverlight-4-beta-videos/local-file-access/
但不是对本地文件系统的一般访问