频道栏目
首页 > 资讯 > 其他 > 正文

Web Service代理类生成工具

13-10-18        来源:[db:作者]  
收藏   我要投稿
需求
 
      既然上面可以生成了代理类,并且如果我有几个WebService需要生成,或者多次要生成代理类编译dll的,这样就会很麻烦了。把这生成代理类和编译成dll的做成一个工具就会带来方便。
 
 
 
开始行动
 
先直接上效果图片
 
 
 
 
 
 
第一步:
 
    把需要到的两个工具:wsdl.exe和csc.exe工具给单独复制出来
 
 
 
第二步:
 
    通过C#来代码来执行那两个命令行工具下面是我的一个方法:
 
 
/// <summary>
        /// 输入参数执行命令的方法
        /// </summary>
        /// <param name="argument"></param>
        /// <returns></returns>
        public string Startcmd(string argument)
        {
            string output = "";
            try
            {
                Process cmd = new Process();
                cmd.StartInfo.FileName = FileName;
                cmd.StartInfo.Arguments = argument;
                cmd.StartInfo.UseShellExecute = false;
                cmd.StartInfo.RedirectStandardInput = true;
                cmd.StartInfo.RedirectStandardOutput = true;
                cmd.StartInfo.CreateNoWindow = true;
                cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                cmd.Start();
                output = cmd.StandardOutput.ReadToEnd();
                //Console.WriteLine(output);
                cmd.WaitForExit();
                cmd.Close();
            }
            catch (Exception e)
            {
                output = e.ToString();
                return output;
                //   Console.WriteLine(e);
            }
            return output;
        }
 
 
 
第三步:
 
    调试。在wsdl工具生成代理一般都没有问题,也能正常生成代理类;但是用csc编译成dll的时候,运行csc工具会有错误,我们需要引用一个cscompui.dll,安装vs后可以直接找到的。还需要把代理中引用的程序集都填写上,也包括是系统的程序集。一般会包括下面的命名空间引用
 
 
    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    using System.Data;
    
 
 
 
 System.Xml.Serialization 是在System.XML.dll程序集
 
System.Web.Services 程序集是System.Web.Services.dll
 
using System.Diagnostics;using System.ComponentModel;using System;程序集都在System.dll
 
System.Data的程序集是System.Data.dll
 
我把那四个程序集的framework3.5的单独复制出来的;
 
 
相关TAG标签
上一篇:Linux查看/var/log/wtmp文件的方法
下一篇:多个无线AP怎么实现无缝漫游
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站