//////////////////////////////////////////////////////////////////////////////// //Author: stardicky // //E-mail: [email protected] // //QQNumber: 9531511 // //CompanyName: Ezone International // //Class: HBS-0308 // //title: 异步调用Web服务 // ////////////////////////////////////////////////////////////////////////////////
//文件数量2个
///文件1////////////////////////////////////////////////////////////////////////
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services;
namespace WebServiceDemo { /// <summary> /// Service1 的摘要说明。 /// </summary> [WebService(Namespace="http://www.ezone.com.cn")] public class EzoneService : System.Web.Services.WebService { public EzoneService() { //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的 InitializeComponent(); }
#region 组件设计器生成的代码 //Web 服务设计器所必需的 private IContainer components = null; /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { }
/// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion
// WEB 服务示例 // HelloWorld() 示例服务返回字符串 Hello World // 若要生成,请取消注释下列行,然后保存并生成项目 // 若要测试此 Web 服务,请按 F5 键
[WebMethod] public string HelloWorld() { return "Hello World"; } } } ///文件2//////////////////////////////////////////////////////////////////////// using System; using System.Web.Services; using System.Web; using ConsoleApp.www.ezone.com.cn;
namespace ConsoleApp { /// <summary> /// Class1 的摘要说明。 /// </summary> class MyConsole { static bool MyStatus=false;
/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 // //创建Web服务对象 EzoneService MyServiceObj=new EzoneService();
Console.WriteLine("开始调用远程Web服务......");
//开始异步调用远程服务 MyServiceObj.BeginHelloWorld(new AsyncCallback(MyHelloWorld),MyServiceObj);
int i=0; while(MyConsole.MyStatus!=true) { i++; Console.WriteLine("等待Web服务调用结束......#"+i.ToString()); }
Console.WriteLine("远程调用结束");
}
//该方法由操作系统自动调用 static void MyHelloWorld(IAsyncResult iar) { EzoneService MyService=(EzoneService)iar.AsyncState; Console.WriteLine(MyService.EndHelloWorld(iar)); //结束远程调用
MyConsole.MyStatus=true; } } }
///结果///////////////////////////////////////////////////////////////////////// //注意:具体等待次数与你的机器速度有关,与程序无关! 开始调用远程Web服务...... 等待Web服务调用结束......#1 等待Web服务调用结束......#2 等待Web服务调用结束......#3 等待Web服务调用结束......#4 等待Web服务调用结束......#5 等待Web服务调用结束......#6 等待Web服务调用结束......#7 等待Web服务调用结束......#8 等待Web服务调用结束......#9 等待Web服务调用结束......#10 等待Web服务调用结束......#11 等待Web服务调用结束......#12 等待Web服务调用结束......#13 等待Web服务调用结束......#14 等待Web服务调用结束......#15 等待Web服务调用结束......#16 等待Web服务调用结束......#17 等待Web服务调用结束......#18 等待Web服务调用结束......#19 等待Web服务调用结束......#20 等待Web服务调用结束......#21 等待Web服务调用结束......#22 等待Web服务调用结束......#23 等待Web服务调用结束......#24 等待Web服务调用结束......#25 等待Web服务调用结束......#26 等待Web服务调用结束......#27 等待Web服务调用结束......#28 等待Web服务调用结束......#29 等待Web服务调用结束......#30 等待Web服务调用结束......#31 等待Web服务调用结束......#32 等待Web服务调用结束......#33 等待Web服务调用结束......#34 等待Web服务调用结束......#35 等待Web服务调用结束......#36 等待Web服务调用结束......#37 等待Web服务调用结束......#38 等待Web服务调用结束......#39 等待Web服务调用结束......#40 等待Web服务调用结束......#41 等待Web服务调用结束......#42 等待Web服务调用结束......#43 等待Web服务调用结束......#44 等待Web服务调用结束......#45 等待Web服务调用结束......#46 等待Web服务调用结束......#47 等待Web服务调用结束......#48 等待Web服务调用结束......#49 等待Web服务调用结束......#50 等待Web服务调用结束......#51 等待Web服务调用结束......#52 等待Web服务调用结束......#53 等待Web服务调用结束......#54 等待Web服务调用结束......#55 等待Web服务调用结束......#56 等待Web服务调用结束......#57 等待Web服务调用结束......#58 等待Web服务调用结束......#59 等待Web服务调用结束......#60 等待Web服务调用结束......#61 等待Web服务调用结束......#62 等待Web服务调用结束......#63 等待Web服务调用结束......#64 等待Web服务调用结束......#65 等待Web服务调用结束......#66 等待Web服务调用结束......#67 等待Web服务调用结束......#68 等待Web服务调用结束......#69 等待Web服务调用结束......#70 等待Web服务调用结束......#71 等待Web服务调用结束......#72 等待Web服务调用结束......#73 等待Web服务调用结束......#74 等待Web服务调用结束......#75 等待Web服务调用结束......#76 等待Web服务调用结束......#77 等待Web服务调用结束......#78 等待Web服务调用结束......#79 等待Web服务调用结束......#80 等待Web服务调用结束......#81 等待Web服务调用结束......#82 等待Web服务调用结束......#83 等待Web服务调用结束......#84 等待Web服务调用结束......#85 等待Web服务调用结束......#86 等待Web服务调用结束......#87 等待Web服务调用结束......#88 等待Web服务调用结束......#89 等待Web服务调用结束......#90 等待Web服务调用结束......#91 等待Web服务调用结束......#92 等待Web服务调用结束......#93 等待Web服务调用结束......#94 等待Web服务调用结束......#95 等待Web服务调用结束......#96 等待Web服务调用结束......#97 等待Web服务调用结束......#98 等待Web服务调用结束......#99 等待Web服务调用结束......#100 等待Web服务调用结束......#101 等待Web服务调用结束......#102 等待Web服务调用结束......#103 等待Web服务调用结束......#104 等待Web服务调用结束......#105 等待Web服务调用结束......#106 等待Web服务调用结束......#107 等待Web服务调用结束......#108 等待Web服务调用结束......#109 等待Web服务调用结束......#110 等待Web服务调用结束......#111 等待Web服务调用结束......#112 等待Web服务调用结束......#113 等待Web服务调用结束......#114 等待Web服务调用结束......#115 等待Web服务调用结束......#116 等待Web服务调用结束......#117 等待Web服务调用结束......#118 等待Web服务调用结束......#119 等待Web服务调用结束......#120 等待Web服务调用结束......#121 等待Web服务调用结束......#122 等待Web服务调用结束......#123 等待Web服务调用结束......#124 等待Web服务调用结束......#125 等待Web服务调用结束......#126 等待Web服务调用结束......#127 等待Web服务调用结束......#128 等待Web服务调用结束......#129 等待Web服务调用结束......#130 等待Web服务调用结束......#131 等待Web服务调用结束......#132 等待Web服务调用结束......#133 等待Web服务调用结束......#134 等待Web服务调用结束......#135 等待Web服务调用结束......#136 等待Web服务调用结束......#137 等待Web服务调用结束......#138 等待Web服务调用结束......#139 等待Web服务调用结束......#140 等待Web服务调用结束......#141 Hello World 远程调用结束 Press any key to continue 
|