2011-04-16 47 views
1

在我的SL3应用程序中,我提示用户选择一个保存位置,由于目标受众的原因,这很可能是可移动驱动器。在Silverlight中保存到可移动驱动器

如果用户尝试弹出/取出驱动器,则Windows会抱怨它正在“使用中”。

如果用户然后再次将文件保存到固定驱动器,然后可移动驱动器可以被弹出/移除。

这几乎就好像this .NET issue正在发生。不幸的是,由于.NET支持和SL安全限制的减少,两种解决方法都无法使用。

任何想法?

回答

0

您使用的是SaveFileDialog吗?如果没有 - 那么情况就不是这样。

没有看到任何代码,这是很难回答,但它有可能你没有关闭文件(File.Close())?

据我记得你不能改变SL中的当前目录,所以我有点怀疑你的问题的原因是在你的链接解决方案相同。

+0

我正在使用SaveFileDialog。然后:filestream.flush(); filestream.close(); filestream.Dispose(); FILESTREAM = NULL; – Andy 2011-04-17 08:17:52

+0

尽管用户代码无法更改当前目录,但我认为内部.NET代码可以执行此操作,因为SL应用程序基本上只是在用户PC上运行的可执行文件。 – Andy 2011-04-17 08:19:24

+0

Silverlight是一个特殊的可执行文件,因为它存在于防止它做某些事情的沙箱中,但是 - 底层的win32表单有权访问更改当前目录。你能证实当前目录真的改变了吗?你可以在预定义的位置打开对话框吗?即“我的文件”? – NightDweller 2011-04-17 09:14:53

相关问题