Windows服务频繁调用webservice导致内存溢出,请教高人赐教!

时间:2022-10-05 18:05:41
我写了个Windows服务,执行过程中需要调用webservice,忙时每分钟大概调用50次左右,平均20次左右。运行过程中几乎每天都出现一次webservice报System.OutOfMemoryException 异常,导致处理特别慢,甚至还有一次把我的服务都给搞死了,请教高人这是什么原因阿。
系统配置:Win2003 + .Net2003
webservice调用数据库: Oracle10g

14 个解决方案

#1


代码..代码..

代码问题.

#2


需要说明的一点,同样的服务,不调用webservice而是调用dll来完成同样的工作却一点问题都没有,是不是频繁调用webservice导致的异常阿?

#3


你试着检查你的webservice中的相关类,是否有及时释放内存

#4


这个是虚拟内存不足的异常,不叫溢出。不是一个意思的。
一般都是和分配内存相关的,你可以看看C#的弱引用,试着解决问题。

#5


也检查了,资源都是调用完了就释放的

#6


基本可以肯定是代码的问题,你还是好好检查一下。
退一步你就做好监控手段,已出现问题马上有相应的处理手段

#7


应该是有资源漏洞。

#8


webservice的方法跟dll的方法都是一样的,为什么调用dll时正常运行呢?

#9


虽然Webservice和Dll实现功能一样,但前者会比后者占用更大的内存.特别是频繁调用的时候.

楼主可试着在调用Webservice时,适时的手动释放内存:GC.Collect();

#10


“ 虽然Webservice和Dll实现功能一样,但前者会比后者占用更大的内存.特别是频繁调用的时候. 

楼主可试着在调用Webservice时,适时的手动释放内存:GC.Collect(); ”


9楼的意思是我的服务端会占用大量的内存消耗?
windows服务和webservice分别部署在两台机器上。

#11


老大们,求助啊……

#12


还是没人顶啊

#13


#14


何人助我???

#1


代码..代码..

代码问题.

#2


需要说明的一点,同样的服务,不调用webservice而是调用dll来完成同样的工作却一点问题都没有,是不是频繁调用webservice导致的异常阿?

#3


你试着检查你的webservice中的相关类,是否有及时释放内存

#4


这个是虚拟内存不足的异常,不叫溢出。不是一个意思的。
一般都是和分配内存相关的,你可以看看C#的弱引用,试着解决问题。

#5


也检查了,资源都是调用完了就释放的

#6


基本可以肯定是代码的问题,你还是好好检查一下。
退一步你就做好监控手段,已出现问题马上有相应的处理手段

#7


应该是有资源漏洞。

#8


webservice的方法跟dll的方法都是一样的,为什么调用dll时正常运行呢?

#9


虽然Webservice和Dll实现功能一样,但前者会比后者占用更大的内存.特别是频繁调用的时候.

楼主可试着在调用Webservice时,适时的手动释放内存:GC.Collect();

#10


“ 虽然Webservice和Dll实现功能一样,但前者会比后者占用更大的内存.特别是频繁调用的时候. 

楼主可试着在调用Webservice时,适时的手动释放内存:GC.Collect(); ”


9楼的意思是我的服务端会占用大量的内存消耗?
windows服务和webservice分别部署在两台机器上。

#11


老大们,求助啊……

#12


还是没人顶啊

#13


#14


何人助我???