2016-12-06 28 views
2

我試圖序列化並將Exception對象存儲到一個文件,然後通過反序列化檢索它。如何在沒有任何數據丟失的情況下對異常對象進行序列化和反序列化?

File.Delete(_FilePath); 
using (Stream stream = File.Open(_FilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) 
{ 
    new BinaryFormatter().Serialize(stream, originalException); 
} 

using (Stream stream = File.Open(_FilePath, FileMode.Open, FileAccess.Read)) 
{ 
    Exception deserializedException = (Exception)(new BinaryFormatter().Deserialize(stream)); 
    // deserializedException.TargetSite is null!!! 
} 

但是,反序列化的Exception對象的TargetSite屬性爲null。即,它不會被序列化,因此它也不會被反序列化。 TargetSite屬性的類型爲MethodBase。 (序列化方法庫沒有任何意義IMO)

是否有任何其他方式存儲和檢索完整的異常對象沒有任何數據丟失?

回答

相關問題