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 (将#修改为@)