wince项目需要引用webservice,但是webserevice地址是动态的,我在winform项目可以用实现,但是在wince项目不行?有会的吗?请给予帮助,谢谢!
public static object InvokeWebService(string url,  string classname, string methodname, object[] args)
         {
             //string @namespace = "TrainingSite.PDAWebservice";
             string @namespace = "s的";
            if((classname == null) ||(classname == ""))
             {
                 classname = GetWsClassName(url) ;
             }            try
             {
                //获取WSDL
                 WebClient wc                   = new WebClient();
                 Stream stream                  = wc.OpenRead(url+"?WSDL");
                 ServiceDescription sd          = ServiceDescription.Read(stream);
                 ServiceDescriptionImporter sdi = new ServiceDescriptionImporter();
                 sdi.AddServiceDescription(sd,"","");
                 CodeNamespace cn                = new CodeNamespace(@namespace);
                
                //生成客户端代理类代码
                 CodeCompileUnit ccu             = new CodeCompileUnit();
                 ccu.Namespaces.Add(cn);
                 sdi.Import(cn ,ccu); 
                 CSharpCodeProvider csc          = new CSharpCodeProvider();
                 ICodeCompiler icc               = csc.CreateCompiler();
                
                //设定编译参数
                 CompilerParameters cplist       = new CompilerParameters();
                 cplist.GenerateExecutable       = false;
                 cplist.GenerateInMemory         = true;
                 cplist.ReferencedAssemblies.Add("System.dll");
                 cplist.ReferencedAssemblies.Add("System.XML.dll");
                 cplist.ReferencedAssemblies.Add("System.Web.Services.dll");
                 cplist.ReferencedAssemblies.Add("System.Data.dll");                //编译代理类
                 CompilerResults cr = icc.CompileAssemblyFromDom(cplist, ccu);
                if(true == cr.Errors.HasErrors)
                 {
                     System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    foreach(System.CodeDom.Compiler.CompilerError ce in cr.Errors)
                     {
                         sb.Append(ce.ToString());
                         sb.Append(System.Environment.NewLine);
                     }
                    throw new Exception(sb.ToString());
                 }                //生成代理实例,并调用方法
                 System.Reflection.Assembly assembly = cr.CompiledAssembly;
                 Type t = assembly.GetType(@namespace+"."+classname,true,true);
                object obj = Activator.CreateInstance(t);
                 System.Reflection.MethodInfo mi = t.GetMethod(methodname);                return mi.Invoke(obj,args);
             }
            catch(Exception ex)
             {
                throw new Exception(ex.InnerException.Message,new Exception(ex.InnerException.StackTrace));
             }
         }wince