asp.net中异步调用webservice

WebService方法是不需要作任何修改的,只是在调用时采用异步的方式,这样在循环中,速度会显得快一点。

原来的方式:

HotelMagWeb.com.china_sms.www.MainServices sms=new HotelMagWeb.com.china_sms.www.MainServices(); //实例化一个对象
    string sSendRes=sms.massSend(); //直接调用方法

现在可以改为异步调用方式:

HotelMagWeb.com.china_sms.www.MainServices sms=new HotelMagWeb.com.china_sms.www.MainServices(); //同样的实例化对象
sms.BeginmassSend(new AsyncCallback(MySMS),sms); //使用带Begin开头那个方法,要传一个方法进去(我这里叫MySMS)

//这个方法中实现真正的调用及结果!
public static void MySMS(IAsyncResult iar)
        {
            HotelMagWeb.com.china_sms.www.MainServices sms=(HotelMagWeb.com.china_sms.www.MainServices)iar.AsyncState;
            string sSendRes=sms.EndmassSend(iar);
        }

好了,这样就可以了!

时间: 2024-12-12 16:26:16

asp.net中异步调用webservice的相关文章

ASP.NET MVC中使用ASP.NET AJAX异步访问WebService

使用过ASP.NET AJAX的朋友都知道,怎么通过ASP.NET AJAX在客户端访问WebService,其实在ASP.NET MVC中使用ASP.NET AJAX异步访问WebService 也没什么大的差别. 在ASP.NET应用程序里使用ASP.NET AJAX访问WebService通常都是通过ScriptMananger引入WebService生成客户端代理的方法,同时也可以使用Microsoft Ajax Library来完成.本文将介绍在ASP.NET MVC中使用ASP.NE

一个简单的webservice的demo(下)winform异步调用webservice

绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单的Webservice的demo(中)_前端页面调用 当winform同步调用服务时,由于调用服务不能像C/S那样快,winform的UI进程一直在等待服务的返回结果,就无法响应用户事件.为了解决这种问题,我们用异步调用. 首先,先准备一个模拟用的webservice,如下: 1 using Sys

ASP.net 中手工调用WS(POST方式)

ASP.net 中手工调用WS(POST方式)核心代码:string strUrl="http://localhost:21695/service1.asmx/getmythmod";HttpWebRequest request=(HttpWebRequest)WebRequest.Create(strUrl);request.Method="POST";request.ContentType="application/x-www-form-url&quo

asp.net中怎样调用存储过程和存储过程的写法(转载,留着自己看)

asp.net中怎样调用存储过程和存储过程的写法 创建一个只有输入参数的存储过程 create procedure proc_user@name varchar(20),@Password varchar(100)as select * from loginuser where name like @name ---创建一个有输入和输出参数的存储过程 create procedure proc_usertext@name varchar(20),@blog varchar(100) output

asp.net 练习 js 调用webservice

[csharp] view plaincopyprint? using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; /// <summary> ///JsWebServiceTest 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.o

ASP.NET中JavaScript 调用后台代码

前序:在不需要右击页面或回发的情况下刷新页面,即JS调用后台代码: 方法一:调用隐藏服务端按钮的点击事件 1.在前端放一个隐藏按钮,将需要调用的后台代码写入OnClick事件中; 2.在前台写一个js函数,函数体为document.getElementById("<%=btnID.ClientID%>").click(); 3.在需要刷新的地方调用js函数,即可调用按钮OnClick事件: 4.此方法适用无返回值: 方法二:JS中直接用<%=MethodName()%

Asp.net 异步调用WebService

//服务代码 [WebMethod] public string Test(int sleepTimes, int val) { Thread.Sleep(sleepTimes); var log = AppDomain.CurrentDomain.BaseDirectory + "/logs/log.log"; using (var sw = new StreamWriter(log, true)) { sw.WriteLine(DateTime.Now.ToString() + &

Silverlight中异步调用WCF服务,传入回调函数

以前学的ASP.NET,调用的都是同步方法,同步方法的好处就是,一步一步走,完成这步才会走下一步.然而,WCF使用的都是异步方法,调用之后不管有没有获得结果就直接往下走,最可恶的是异步函数都是Void类型,得不到返回结果,虽然有Completed的事件处理,但是还是感觉比较束缚,无法与前端交互. 这里就跟大家分享一种传入回调函数的方法,把前台的方法写好,传到后台,让异步方法调用完成时执行.废话不多说了,开始写代码: 首先,要先建一个带网站的sliverlight项目,这里就不细说了,在网站中添加

MVC 中ajax 调用Webservice 或WCF 问题

添加一个MVC 项目 在里面添加一个 Webservice 然后去浏览 这个Webservice1.asmx ,然后 点击默认的 Hello Word 方法,点 “调用”. 无法找到资源. 知道问题一定在 路由上,因为找不到这个路由.在MVC 中请求都会找路由表,然后按路由匹配,由于找不到对应的路由所以报 "无法找到资源”. 然后我在路由规则里加上:constraints: new { controller = @"^(?!webservic)\w*$" }// 我理解是表示