当前位置: 代码迷 >> Web Service >> Web服务调用C++DLL报System.StackOverflowException,该怎么解决
  详细解决方案

Web服务调用C++DLL报System.StackOverflowException,该怎么解决

热度:208   发布时间:2016-05-02 02:21:29.0
Web服务调用C++DLL报System.StackOverflowException
c++的dll是用来转换图片的,从jpg到我们自定义的图片格式。

用Console应用程序调用没有问题,不会报错,但是到Web服务上调用就会一直报上面这个错。

C++ 的代码是没有问题的,不存在内存溢出。
因为是处理图片,我已开始以为是图片太大(我们的图片有300-500M),IIS承受不住,用小图片依然存在这个问题

直接在VS中调试WebService会报错,以为是VS自带的IIS的问题,发布到IIS上也会报错,又想是不是IIS应用程序池的内置系统账户的问题,改成localSystem依旧报错,IIS上我想到的配置基本上都改了完全没有用。

百度上有人问过这个问题,但是没有出解决方案,求大神看我大半夜还在加班弄这个问题,给个解答~~~分数不多,贡献一百分。
跪求解决方案
------解决方案--------------------
确实很诡异。我只能给一点猜测,有可能是你的函数内部使用了线程不安全的变量,比如说异步读写之类的,没有做好同步。因为控制台程序是单线程的,所以没有暴露出来。而显然你的服务程序是在多线程环境下调用的。
------解决方案--------------------
WCF?  

我们也用WCF遇到过很诡异的事情,我们是在WCF调用dongle 保护的dll. 进程hang在那里。
最后不得已又用回asmx web service. 
  相关解决方案