没有合适的资源?快使用搜索试试~ 我知道了~
ASP.NET服务器端异步Web方法
需积分: 0 0 下载量 160 浏览量
2020-03-04
09:07:16
上传
评论
收藏 41KB DOC 举报
温馨提示
试读
5页
当您使用 Web 方法编写典型的 ASP.NET Web 服务时,Microsoft? Visual Studio? .Net 只是编译您的代码以创建程序集;当收到对其 Web 方法的请求时,将调用该程序集。程序集本身并不知道关于 SOAP 的任何事情。因此,当您的应用程序首次启动时,ASMX 处理程序必须反映您的程序集,以确定提供哪些 Web 方法。
资源推荐
资源详情
资源评论
ASP.NET 服务器端异步 Web 方法
摘要:Matt Powell 介绍了如何在服务器端使用异步 Web 方法,来创建高性能的
Microsoft ASP.NET Web 服务。
异步 Web 方法的工作原理
当您使用 Web 方法编写典型的 ASP.NET Web 服务时,Microsoft? Visual
Studio? .Net 只是编译您的代码以创建程序集;当收到对其 Web 方法的请求时,将调用
该程序集。程序集本身并不知道关于 SOAP 的任何事情。因此,当您的应用程序首次启动
时,ASMX 处理程序必须反映您的程序集,以确定提供哪些 Web 方法。对于常规的同步
请求,这些操作都很简单:找出哪些方法具有关联的 WebMethod 属性、基于
SOAPAction HTTP 标头来设置调用正确方法的逻辑。
对于异步请求,在反映过程中,ASMX 处理程序寻找具有某种签名并将签名识别为异
步的 Web 方法。该处理程序将寻找符合以下规则的方法对:
BeginXXX 和 EndXXX Web 方法,其中 XXX 是任意字符串,表示要提供的方法的
名称。
BeginXXX 函数返回一个 IAsyncResult 接口,并分别接受 AsyncCallback 和一个
对象,作为其最后两个输入参数。
EndXXX 函数接受一个 IAsyncResult 接口,作为其唯一的参数。
两个方法都必须使用 WebMethod 属性进行标识。
如果 ASMX 处理程序发现两个方法符合上述所有条件,则将方法 XXX 作为常规的
Web 方法在其 WSDL 中提供。该方法将接受在 BeginXXX 的签名中的 AsyncCallback
参数之前定义的参数作为输入,并返回由 EndXXX 函数返回的内容。因此,如果某个
Web 方法具有如下同步声明:
[WebMethod]
public string LengthyProcedure(int milliseconds) {...}
则异步声明将为:
[WebMethod]
public IAsyncResult BeginLengthyProcedure(
int milliseconds,
AsyncCallback cb,
object s) {...}
[WebMethod]
public string EndLengthyProcedure(IAsyncResult call) {...}
每个方法的 WSDL 都是相同的。
资源评论
weixin_38581405
- 粉丝: 2
- 资源: 947
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功