调用 Web 服务时出现“内存不足”异常

2024-01-17

我有一个 ASP.NET Web 应用程序,它调用 .NET DLL,而 .NET DLL 又调用 Web 服务。 Web 服务调用抛出异常:

无法生成临时类 (结果=1)。错误 CS0001:内部 编译器错误(0xc00000fd)错误 CS0003:内存不足

堆栈跟踪:位于 System.Xml.Serialization.Compiler.Compile(程序集 父级,字符串 ns, XmlSerializer编译器参数 xml参数,证据证据)
在 System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings、Type[] 类型、字符串 defaultNamespace,证据证据, XmlSerializer编译器参数 参数、装配装配、 哈希表组件)位于 System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings、Type[] 类型、字符串 默认命名空间、字符串位置、 证据证据)在 System.Xml.Serialization.XmlSerializer.GetSerializersFromCache(XmlMapping[] 映射,类型类型)位于 System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] 映射,类型类型)位于 System.Web.Services.Protocols.SoapClientType..ctor(类型 类型)在 System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()

我应该提到,这是我第一次在这台 PC 上执行这段特定的代码(我最近重新格式化/重新安装了 Windows)——这让我认为这是环境问题(相同的应用程序在我们的测试和生产服务器)。但我对原因感到困惑。


回答后续问题的一些其他详细信息:

  • 这是一台真正的 PC(不是虚拟机)。
  • 我在 IIS 7 上运行 .NET 3.5。我们的生产服务器是 IIS 6,但它之前在 IIS 7 上运行正常。
  • 该电脑有 2 GB 内存,而且还有足够的空闲内存。
  • 我没有更改任何 machine.config 设置,也没有更改任何与进程模型、编译、内存使用等相关的 web.config 设置。
  • 本地 IIS_IUSRS 组具有“临时 ASP.NET 文件”文件夹的读/写权限。
  • 我检查了应用程序池设置:私有内存和虚拟内存都设置为0(无限制)。

工作进程的内存使用情况:

  • 我回收了工作进程以重新开始,然后点击应用程序中的 ASP.NET 页面...任务管理器显示已使用 22 MB。
  • 然后,我遇到了进行 Web 服务调用的事件,内存使用量猛增至约 150 MB,然后趋于平稳,然后出现异常。

感谢您添加更多详细信息。

看看这个链接:http://support.microsoft.com/?kbid=908158 http://support.microsoft.com/?kbid=908158
这和你遇到的问题很相似。

它建议如下: 要解决此问题,请授予用户帐户对 %windir%\Temp 文件夹的列出文件夹内容和读取权限。

这个:

推荐:
为了避免此问题,请将 Temp 文件夹的读/写权限授予 ASPNET 帐户。当 ASP.NET Web 服务处理 WebMethods 时,最常用于访问系统 Temp 文件夹的标识是本地 ASPNET 帐户,它是运行 ASP.NET 应用程序的默认帐户。

但是,如果您已将应用程序配置为在其 Web.config 文件中使用模拟,则线程还可以使用任何调用者的身份。如果是这种情况,所有潜在的调用身份都必须具有 Temp 文件夹的读/写权限。可能的调用身份是 Internet 信息服务 (IIS) 应用程序的匿名帐户(通常是 ISUR_xxx 帐户)。该线程还可以使用 IWAM_xxx 帐户或 NETWORK SERVICE。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用 Web 服务时出现“内存不足”异常 的相关文章

  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • 向 Nhibernate 发出 SQL 查询

    如何将此 SQL 查询发送给 Nhibernate SELECT Customer name FROM Company INNER JOIN Customer ON Company CompanyId Customer CompanyId
  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 验证插件在更新面板中不起作用

    我有一个更新面板 面板内有文本框和按钮可用 现在我正在使用 jQuery Validation 插件 但是在更新面板中使用时验证插件不起作用 例如 function GetAddressTargetList var objArray new
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 如何防止 ASP.NET 站点的图像盗链?

    防止人们从我的托管 ASP NET 网站热链接到图像的最佳 最简单方法是什么 我不需要防止所有图像 资源被热链接 我只是想防止热链接到网站上的特定图像 资源 供参考 它托管在 GoDaddy com 上 因此 IIS 技巧可能不起作用 最简
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 如何编写一个同时需要请求和响应Dtos的ServiceStack插件

    我需要提供本地化数据服务 所有本地化的响应 Dto 都共享相同的属性 IE 我定义了一个接口 ILocalizedDto 来标记那些 Dto 在请求端 有一个ILocalizedRequest对于需要本地化的请求 Using IPlugin
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • 如果方法参数是 string 或 int,ASP.NET WebAPI 会抛出 404

    我对 ASP NET MVC4 WebAPI 做了一个非常简单的测试 发现了一些有趣的问题 当一个方法采用复杂类型时 它会起作用 但是当它采用 string 或 int 时 它将抛出 404 如给出的屏幕截图所示 AddProduct 可以
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi

随机推荐