Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用web服务的异步方法_C#_Asp.net_Web Services_Asynchronous - Fatal编程技术网

C# 使用web服务的异步方法

C# 使用web服务的异步方法,c#,asp.net,web-services,asynchronous,C#,Asp.net,Web Services,Asynchronous,我想从web服务调用一个方法 我认为在同步模式下发生的是 var obj=new salesforder.CustServicesSoapClient(); obj.AddProduct(txtName.Text,txtColor.Text) 等待响应,然后重试 ResSpan.innerHTML=“foo” 但在异步模式下: var obj=new salesforder.CustServicesSoapClient() obj.AddProductAsync(txtName.Text,txt

我想从web服务调用一个方法

我认为在同步模式下发生的是

var obj=new salesforder.CustServicesSoapClient();
obj.AddProduct(txtName.Text,txtColor.Text)

等待响应,然后重试

ResSpan.innerHTML=“foo”

但在异步模式下:

var obj=new salesforder.CustServicesSoapClient()

obj.AddProductAsync(txtName.Text,txtColor.Text)

下一行独立于上一行运行

ResSpan.innerHTML=“foo”

在void方法中实现的代码,因此该方法将等待“AddProductAsync”完成


我想知道对“异步方法”的理解是否正确?

异步方法是异步的-这意味着它们不会阻塞主执行线程,并且会在某个点并行发生。如果需要等待
async
调用完成,则需要等待响应(如果使用async/wait),调用
wait()
(如果使用
任务
)等待它完成或访问
结果
属性(该属性也隐式调用
等待


有一个奇妙的系列,将带您从螺母到螺栓异步。

问题是什么?这就是异步的工作方式。。。。这是一个非阻塞呼叫。请阅读。我确信Jon Skeet没有告诉任何人使用
等待
结果
,而是Steve。