2011-05-03 75 views
3

我正嘗試在Silverlight 4.0中編寫將文件保存到本地磁盤的邏輯。我正在使用SaveFileDialog類。它工作正常。但是當我試圖保存到已經打開的文件進行查看時,我得到一個未處理的異常。此外,應用程序立即崩潰。保存到Silverlight中已打開的文件時出現未處理的異常

與Silverlight 3一樣也存在類似的問題。我在application_unhandledexception事件中通過搜索異常中的SaveFileStream文本來吞噬異常,從而擺脫了這個問題。我認爲這將在Silverlight 4中處理,但現在變得更糟。即使解決方法現在也無法正常工作。

我已經把SaveFileDialog邏輯和IOException(另一個進程正在使用的文件)放在這裏,但立即引發了我上面描述的異常。

任何幫助,將不勝感激。

更新:這發生在excel文件中,而不是txt文件發生。我想這會發生在所有MS Office文件中。

A post about the issue on the official forum

+0

我無法與重現此文本或Excel文件。我正在運行Silverlight 4.0.60531.0,你在運行什麼? http://www.silverlightversion.com/ – Bryant 2011-09-20 00:45:11

+0

Excel專門使文件句柄保持打開狀態,以停止多個用戶修改工作表(除非以* readonly *模式打開)。您能否顯示您用來吞服異常的代碼? – 2011-09-23 14:30:31

回答

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

希望這是幫助:-)

相關問題