繁体   English   中英

除了IRPStackSize外,您是否对“没有足够的存储空间来处理此命令”有任何想法。

[英]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)。 尽管我希望能在例外中看到“ 内存 ”一词,但它表示“ 存储”

所以我会同时检查。

  • 检查硬盘上的可用空间
  • 检查您已安装的内存(RAM)。 您可以通过按[Windows] + [Pause / Break]轻松完成此操作。

因为当您尝试编写xml文件时发生异常,所以我很确定您没有足够的内存来处理很大的文件。

要对此进行测试,请在可能发生此异常的情况下运行,并在任务管理器中查看您的内存。 如果已满,则您是否需要优化程序,以便它使用较少的内存,或使用一些额外的RAM升级计算机。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM