微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vmware vSphere Web 服务 API:retrievePropertiesEx 导致 IIS/IIS Express 上的堆栈溢出错误,但在控制台应用程序中工作正常

如何解决Vmware vSphere Web 服务 API:retrievePropertiesEx 导致 IIS/IIS Express 上的堆栈溢出错误,但在控制台应用程序中工作正常

我正在使用 vSphere Web 服务 API 创建 ESXi 的接口。这是使用VB.Net。 retrieveProperties 和 retrievePropertiesEx 是 API 函数,用于收集 ESXi 内动态属性属性数据。

我对retrieveProperties 和retrievePropertiesEx 的调用在控制台测试应用程序中工作正常,但仅在IIS 或IIS express 上运行该函数时才会引发堆栈溢出错误。这也只发生在对返回大型数据集的retrieveProperties 的请求上(尤其是检索VM 配置的调用

您知道 IIS 环境与仅从标准控制台应用程序运行有什么不同吗?我也试过在 64 位模式下运行 IIS express 并且结果相同。如果这是一个内存问题,我预计会出现内存不足异常而不是堆栈溢出。

Web 项目 (ASP.Net MVC) 引用了我在 VB.Net 中构建的一个公共库,该库运行这些 vSphere API 调用。在调试或运行发布副本时,基本控制台应用程序中引用的相同库不会引发相同的堆栈溢出异常。

更新:这似乎只是 vSphere Web Services SDK 6.5 版的问题。使用 SDK 7.0 版源重新编译 vim25service.dll 时,它解决了 IIS 中retrievePropertiesEx 上的堆栈溢出问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。