在为我的项目使用web服务的想法中,我注意到为我自动创建了几个属性(方法/事件)。我可以看到Completed事件的目的,但我不确定Async方法将在何处使用。
webmethod声明:
[WebMethod]
public string HelloBrad()
{
return "Hello Brad";
}
代码隐藏中的服务消费
localhost.Service1 service = new localhost.Service1();;
service.HelloBradAsync
service.HelloBradCompleted
service.HelloBrad
有人可以解释一下HelloBradAsync方法的用法。
由于
答案 0 :(得分:3)
异步方法允许您的代码在服务器处理消息时继续执行。使用正常的service.HelloBrad代码,线程将阻塞,直到webservices返回响应。
相反,如果您调用HelloBradAsync,它会立即转到您的下一行代码。服务器完成后,它将在“HelloBradCompleted”事件内响应。
这样Web服务在执行时不会阻塞您的主线程,这绝对是正常的业务方式。它可能需要改变您的编程范例,但您会发现其好处超过了成本。