[英]Do you have any idea about “Not enough storage is available to process this command.”, except IRPStackSize
我目前对XML有例外。 我不知道。 所以,我将这个问题发布给你们。
以下是我的运行环境和问题。
环境
操作系统:Win7 32bit
工具:2010 Visual Studio Express。 (由2010 Visual Studio Ultimate开发。)
应用。 类型:C#4.0,WinForm。
例外
C#,当写下XML文件时,发生异常
“没有足够的存储空间来处理此命令。”
在每种情况下都不会发生这种情况。 几乎所有情况都不例外。 但是它偶尔发生。
该应用程序需要始终运行。 这个问题对我来说至关重要。 您有解决方案或建议吗?
我已经搜索了这个关键字“没有足够的存储空间来处理此命令。”。 有人通过使用IRPStackSize解决了此问题。 但这在我的情况下不起作用。
如果您需要了解更多详细信息,请告诉我。
样例代码:
public static void Serialize(string fileName, JobItem jobItem)
{
lock (AppContext.Current.JobItemLock)
{
JobItem newJobItem = JobItem.CopyJobItem(jobItem);
string path = System.IO.Path.GetDirectoryName(fileName);
if (!System.IO.Directory.Exists(path))
System.IO.Directory.CreateDirectory(path);
XmlSerializer xmlSer = new XmlSerializer(typeof(JobItem));
FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
if(newJobItem != null)
xmlSer.Serialize(fs, newJobItem);
else
xmlSer.Serialize(fs, jobItem);
fs.Close();
}
}
好吧,看来您的环境没有提供足够的内存(RAM)。 尽管我希望能在例外中看到“ 内存 ”一词,但它表示“ 存储” 。
所以我会同时检查。
因为当您尝试编写xml文件时发生异常,所以我很确定您没有足够的内存来处理很大的文件。
要对此进行测试,请在可能发生此异常的情况下运行,并在任务管理器中查看您的内存。 如果已满,则您是否需要优化程序,以便它使用较少的内存,或使用一些额外的RAM升级计算机。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.