我使用binaryformatter序列化一個類並使用deflatestream壓縮數據。保存功能如下,並從後臺工作人員調用:序列化背景數據中的數據 - 內存不足異常
public static void save(System system, String filePath)
{
//Make filestream
FileStream fs = new FileStream(filePath, FileMode.Create);
try
{
//Serialize offerte
BinaryFormatter bf = new BinaryFormatter();
DeflateStream cs = new DeflateStream(fs, CompressionMode.Compress);
bf.Serialize(cs, system);
//Push through
fs.Flush();
cs.Flush();
cs.Close();
}
catch (Exception e)
{
var mess = e.Message;
}
finally
{
//Close
fs.Close();
}
}
該類有一些「用戶」。有100個用戶需要10秒,文件是2MB。如果有1000個用戶,它會發生內存不足的異常(估計大小爲16MB)。任何人都可以在這裏看到問題,或給出建議如何解決這個問題? (我第一次想到在後臺線程上造成這種情況需要很長時間,但我有其他後臺線程可以運行更長時間。)
'系統'是類型名稱的可怕選擇。 – Amit
你確定你沒有得到任何異常?你正在吞嚥任何發生的事情,這可能會使問題難以追查。 – Paddy
你爲什麼吞嚥異常? –