我正在尝试编写用于在Silverlight 4.0中将文件保存到本地磁盘的逻辑。我正在使用SaveFileDialog
类。它工作正常。但是当我试图保存到已经打开查看的文件时,我得到一个未处理的异常。应用程序也立即崩溃。
类似的问题与Silverlight 3有关。我通过在application_unhandledexception事件中搜索异常中的一些SaveFileStream
文本来吞掉异常。我认为这将在Silverlight 4中处理,但现在变得更糟。即使是解决方法现在也无法正常工作。
我已经在SaveFileDialog
逻辑周围设置了try catch,IOException
(另一个进程正在使用文件)被安全地捕获到这里,但是立即触发了我上面描述的异常。
任何帮助都将不胜感激。
更新:excel文件会发生这种情况,而txt文件则不会发生这种情况。我认为所有MS Office文件都会出现这种情况。
答案 0 :(得分:1)
我可以问你如何保存文件? 流是否被冲洗,关闭并正确处理?
像这样作为一个例子(注意:有很多替代方案可以做到这一点):
using (Stream stream = new IsolatedStorageFileStream("somefilename.ext", FileMode.Create, FileAccess.Write, IsolatedStorageFile.GetUserStoreForApplication()))
{
// Use the stream normally in a TextWriter
using (TextWriter writer = new StreamWriter(stream, Encoding.UTF8))
{
writer.Flush();
writer.Close();
}
stream.Close();
}
希望是和帮助: - )