我有一个包含很多这样的代码库:
byte[] contents = FileUtils.FileToByteArray(FileOfGartantuanProportions);
我不控制我的 IIS 服务器,所以我看不到系统日志或进行检测,我只是看到我的请求无法返回(死亡白页),有时 YSOD 出现内存不足错误。
在 IIS5 或 IIS6 终止工作进程或干脆死掉之前,有没有人有一个经验法则,你可以加载到内存中的最多数据是多少?
或者更好的是,我是否有一个 API 调用,例如:
if(!IsEnoughMemoryFor(FileOfGartantuanProportion.Length)) throw new SomeException() ;
在我的 XP Pro 工作站上,我可以获得一个 ASP.NET 页面来成功处理内存中非常大的字节数组,但这些结果显然不适用于真正的共享服务器。