3

我正在尝试在 Silverlight 4.0 中编写将文件保存到本地磁盘的逻辑。我正在使用该SaveFileDialog课程。它工作正常。但是,当我尝试保存到已打开以供查看的文件时,我遇到了未处理的异常。应用程序也会立即崩溃。

Silverlight 3 也有类似的问题。我通过SaveFileStream在 application_unhandledexception 事件中搜索异常中的一些文本来解决这个问题。我认为这将在 Silverlight 4 中处理,但现在变得更糟了。即使是解决方法现在也不起作用。

我已经在SaveFileDialog逻辑周​​围放置了 try catch,并且IOException(另一个进程正在使用文件)在这里被安全地捕获,但立即触发了我上面描述的异常。

任何帮助,将不胜感激。

更新:这发生在 excel 文件中,而不发生在 txt 文件中。我认为所有 MS Office 文件都会发生这种情况。

官方论坛上关于这个问题的帖子

4

1 回答 1

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();
}

希望对您有所帮助:-)

于 2011-09-23T21:24:24.583 回答