放假回来报个到,SL保存文件时能以追加方式保存吗
如题所述,保存文件时用默认的文件名,以追加方式保存,这个怎么实现,用SaveFileDialog()不能实现追加
[解决办法]
引用帮助文档:
System.IO 命名空间包含文件模式、文件访问、文件共享和类用于路径操作和操作流的枚举。由于基于 Silverlight 的应用程序未使用操作系统的文件系统,并且限制为使用独立存储来保持和访问文件,因此此命名空间不提供任何附加功能。有关基于 Silverlight 的应用程序如何使用独立存储的更多信息,请参见独立存储。
FileMode.Append 用于 IsolatedStorageFileStream 构造函数。
Silverlight 应用程序中的透明代码具有下列限制:
不能包含无法验证的代码,这意味着所有代码都必须是可验证为类型安全的。
不能通过 P/Invoke 或 COM 互操作调用本机代码。
不能访问关键代码或数据,除非目标是标记为安全关键的。
安全关键代码可帮助确保透明代码安全地执行关键操作。安全关键 API 在将控件传递到关键 API 之前,通常会执行各种检查,包括验证传入的参数和确保应用程序状态支持继续进行调用。在允许安全关键调用继续执行后,它将代表调用方调用一个关键方法,或者直接执行操作。
向文件系统写入内容的操作实现为关键代码。为了能够访问文件系统中的永久存储区,Silverlight 提供了一个安全关键功能,称为"独立存储"。当 Silverlight 应用程序调用独立存储 API 时,该 API 通过确保应用程序正在请求有效的文件并且未超过其存储配额来验证请求。然后,独立存储 API 调用关键 API,以执行读写硬盘的实际工作。
使用 SaveFileDialog 和 OpenFileDialog 类是访问文件系统的另一种安全关键方式。如果您使用这些对话框和应用程序尝试访问不是用户启动的文件系统,则会发生异常。
[解决办法]
Silverlight 3对于本地文件读取有安全限制,不能直接读取,微软推荐使用IsolatedStorage。
在Silverlight 4中支持在安全限制允许范围内,对本地文件的存取。
详细可以参考 http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx#localfiles