Silverlight删除目录

本文关键字:删除目录 Silverlight | 更新日期: 2023-09-27 18:12:13

我有一个Silverlight应用程序。它与用户DefaultAppPool一起工作。它获得了服务器的所有权限。(编写/修改/删除等)

如果我在本地运行它,它可以用directory创建和删除一个目录。CreateDirectory和Directory.DeleteDirectory。

然而,如果我把silverlight应用程序在线,它可以写,但不能删除。

是否有办法检查问题是什么,为什么不删除?谁有什么建议我可以试试吗?

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(App.Serverpath);
dir.Delete(true);

我检查了Serverpath,它是正确的!)

Silverlight删除目录

是。默认情况下,Silverlight是一个沙盒运行时环境。默认情况下,它不允许您删除运行该应用程序的计算机上的文件。但是,您可以通过将其切换到提升信任模式来允许它这样做。基本上有两种方法可以做到这一点。浏览器内和浏览器外(OOB)。在浏览器之外更简单,但用户将需要安装应用程序。无论采用哪种方式,您都需要购买代码签名证书并对Xap包进行签名。

对于浏览器应用程序,客户端的计算机需要在注册表级别显式配置,以提高对浏览器的信任。如果客户端将应用程序安装为OOB应用程序,则不需要这样做。

关于如何建立信任的文章很多,但这里有一篇:启用浏览器内提升信任

注意:我对你在这里使用的"服务器"这个词有点困惑。一般来说,Silverlight是一种客户端技术。您将无法直接删除服务器上的文件。如果你需要在服务器端删除文件,你就需要在服务器端构建一些服务(例如WCF或REST),并在客户端从Silverlight调用这些服务。这可能更容易,因为如果你真的需要删除服务器上的文件,你将只能在服务器上运行silverlight应用程序,这似乎是不对的。