日期:2014-05-17  浏览次数:20909 次

长时间动态调用WebService出错,郁闷
最近在搞WebService开发,发现了一个问题,通过下面这个WebServiceHelper类长时间调用WebService,会出现“未将实例引用到对象”的错误。(程序开始运行正常,但是时间长了就出现问题了,大概5小时左右),高手们给小弟指点下。
WebServiceHelper的代码如下:
using System.Net;
using System.CodeDom;
using System;
using System.IO;
using System.Web.Services.Description;
using Microsoft.CSharp;
using System.Reflection;
using System.CodeDom.Compiler;

namespace messageCenter
{
    public class WebServiceHelper
    {
        #region InvokeWebService
        /// < summary>   
        /// 动态调用web服务   
        /// < /summary>   
        /// < param name="url">WSDL服务地址< /param>   
        /// < param name="methodname">方法名< /param>   
        /// < param name="args">参数< /param>   
        /// < returns>< /returns>   
        public static object InvokeWebService(string url, string methodname, object[] args)
        {
            return WebServiceHelper.InvokeWebService(url, null, methodname, args);
        }

        /// < summary>   
        /// 动态调用web服务   
        /// < /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 = WebServiceHelper.GetWsClassName(url);
            }