1 20 50 150 500
欢迎来到哈希软件站,找素材,搜软件,就上哈希软件站!
当前位置 >首页 >软件下载 >电脑软件 >编程开发 >编程软件

WebService类生成工具 1.0 最新版

软件信息
  • 分类:编程软件
  • 大小:2.5M
  • 语言: 中文
  • 环境: WinAll, WinXP
  • 更新:2024-11-13
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 编程辅助
  • 插件情况:

通过命令行的方式可以直接把SOAP的Webservice服务生成代理类,再编译成一个dll,既然上面可以生成了代理类,并且如果我有几个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的单独复制出来的;

修改成4.0:

一:可以自己找到4.0下面相应的dll去替换掉,

二:先把这个项目修改成framework4.0的项目,之后在程序中References-->System.Data--》properties-->Copy local的属性值给为true,就到复制出framework4.0的版本dll,

如果csc编译有错误:,都可以找到原因的。

备注: 由于wsdl生成的代理类和方法大都是公共的,如果两个不同的WebService,生成使用了相同的命名空间,则在csc编译的时候会有错误,这只能去手动解决或者那两个生成的代码放在不同的命名空间了。

下载地址

热门软件

Top