C#反射調用WebService引起內存泄漏

本文介绍了作者在使用C#通过反射调用WebService进行服务器健康检查时遇到的内存泄漏问题。每轮调用都会增加大量Unmanaged Memory,疑似由于反射加载的DLL在程序运行期间未释放。尝试释放资源无效后,作者改为固定调用方法来解决内存泄漏,实现了服务器检查任务。
摘要由CSDN通过智能技术生成

最近寫了一個小工具,用來定時檢測公司各臺服務器上的WebService是否工作正常.如果無法訪問則報警.

開發思路也很簡單, 設定一個Timer, 定時啟動多個線程(每個線程負責N臺服務器訪問任務)去動態訪問各服務器上的WebService的指定方法. 然後對異常信息進行報警.


動態訪問WebService技術採用大家都熟悉的反射(Reflection), 如下:

/// < summary>          
/// 動態調用WebService
/// < /summary>          
/// < param name="url">WSDL服務地址< /param>
/// < param name="classname">類名< /param>  
/// < param name="methodname">方法名< /param>  
/// < param name="args">參數< /param> 
/// < returns>< /returns>
public static object InvokeWebService(string url, string classname, string methodname, object[] args)
{
    string @namespace = "EnterpriseServerBase.WebService.DynamicWebCalling";
    if ((classname == null) || (classname == ""))
    {
        classname = WSHelperReflection.GetWsClassName(ur
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值