我在我的LINQPad中得到了这个最简单的查询:varxml=XElement.Load(@"C:\\Users\\myth\sample.xml");varquery=fromeinxml.Elements()selecte;query.Dump();问题是它返回System.OutOfMemoryException。XML文件大约120MB。我有readithereLINQPad有一个限制,只能返回10000行。所以,我试过这样写varquery=(fromeinxml.Elements()selecte).Take(100);query.Dump();但它给了我同样的错误。LIN
我正在处理一个大型XML文件,在运行应用程序时,XmlTextReader.ReadOuterXml()方法抛出内存异常。代码行就像,XmlTextReaderxr=null;try{xr=newXmlTextReader(fileName);while(xr.Read()&&success){if(xr.NodeType!=XmlNodeType.Element)continue;switch(xr.Name){case"A":varxml=xr.ReadOuterXml();varn=GetDetails(xml);break;}}}catch(Exceptionex){//Dos
我有一个包含大约120MB数据的XElement对象。XML由大约6000个元素组成,每个元素约20kb。我正在尝试调用XElement.ToString(),因为我需要在网络服务中返回OuterXml。我得到一个System.OutOfMemoryException。System.OutOfMemoryException:Exceptionoftype'System.OutOfMemoryException'wasthrown.atSystem.String.GetStringForStringBuilder(Stringvalue,Int32startIndex,Int32leng
我们正在运行以下脚本:[xml]$products=获取内容C:\fso\products.xml并收到以下错误:System.OutOfMemoryException我们假设这是因为XML文件很大。解决方案可能涉及一次读取XML一行。我们如何处理这个文件?例如,我们如何计算元素的数量?或者,我们如何将元素名称打印到控制台窗口?我们目前正在查看此链接:http://blogs.technet.com/b/stephap/archive/2009/05/27/choking-on-very-large-xml-files.aspxXML结构如下:0000000000001BASICS$1
我在集群上运行我的代码,我发现了一个我无法在本地复制的问题,并且看不到原因。因此,程序开始在整个代码的随机位置虚假地抛出OutOfMemoryException。此外,看起来这可能与Windows本身的某些问题有关-其中一个异常表现为Assembly.Load操作的HRESULT,HRESULT为0x800705AF,解码后表示错误1455ERROR_COMMITMENT_LIMIT(交换文件已用完)。程序实际占用内存非常小,32位,运行在.NET4.0.30319下,服务器是WindowsServer2008,12核,24GbRAM(几乎全部免费)和交换分区上有几十GB的可用硬盘
我正在尝试使用C#在VisualStudioWindows应用程序中读取excel文件(.xlsx)。我正在使用此链接ExcelLibrary中的GoogleExcel库.我使用以下代码在单击按钮时从excel文件中读取。我在VisualStudio2012Professional中使用以下代码,usingExcelLibrary.SpreadSheet;usingExcelLibrary.BinaryDrawingFormat;usingExcelLibrary.BinaryFileFormat;usingExcelLibrary.CompoundDocumentFormat;nam
我创建了一个小代码来搜索正则表达式字符串并将其替换为其他内容,然后创建一个包含所做更改的新输出文件。该代码似乎适用于较小的文件,但对于100MB或更大的文件,我给出了System.OutOfMemoryException'错误。这是我的代码:stringfoldername=Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),String.Format("FIXED_{0}.tmx",Path.GetFileNameWithoutExtension(textBox1.Text)));stri
我有一个程序可以处理大量数据,并且可以缓存大部分数据以供内存中的后续记录重复使用。我缓存的越多,它的工作速度就越快。但是,如果我缓存太多,那么会很糟糕,重新开始,这需要更长的时间!异常发生后,我尝试做任何事情都不太成功-我无法获得足够的内存来做任何事情。我也试过分配一个巨大的对象,然后立即取消分配,但结果不一致。也许我做错了什么?无论如何,我所坚持的只是对缓存对象的数量设置一个硬编码限制,根据经验,这个限制似乎足够低。有更好的想法吗?谢谢。回答后编辑下面的代码似乎完全符合我的要求:LoopDimmemFailPointAsMemoryFailPoint=NothingTrymemFai
如何模拟在C#单元测试中抛出的异常?我希望能够100%覆盖我的代码,但我无法测试可能出现异常的代码。例如,我无法模拟可能发生的电源故障。例如:publicvoidMyMethod(){try{...}catch(OutOfMemoryExceptione){...}catch(RandomErrorFromDatabaseLayere){...}}我希望能够模拟此方法中应捕获的任何类型的异常。有没有图书馆可以帮助我解决这个问题?编辑1:对完成我对最小起订量的要求有什么帮助吗? 最佳答案 您需要创建一个模拟对象来代替可以抛出这些异常的
我创建了一个长度为“132370292”的StringBuilder,当我尝试使用ToString()方法获取字符串时,它抛出OutOfMemoryException.StringBuilderSB=newStringBuilder();for(inti=0;i创建新字符串时OOM的原因是什么?为什么在写入文件时不会抛出OOM?机器详细信息:64位、Windows-7、2GBRAM、.NET2.0版 最佳答案 WhatisthereasonfortheOOMwhilecreatinganewstring因为内存不足-或者至少,CLR