[英]How to call a web service in “fire and forget” way from ASP.Net
我有一个Web服务,我想从我的一个asp.net类调用。 我可以成功调用我的Web服务。但现在我需要异步调用此服务。 我需要调用它而不是等待服务完成执行。 我不需要处理来自服务的响应,也不需要验证服务是否成功执行。 我想要的就是能够打电话给服务并自由地做其他事情。
您需要异步使用Web服务。 转到并检查
AddServiceReference -> Advance -> generate asynchronous operations.
在此之后,对于每种方法,您都可以使用异步回调事件假设您在服务中使用ABC方法时将同步使用这些方法,这些方法将在您的应用程序中可用
1>ABC (fire and wait for output)
2>ABCAsync(fire and forget)
3>ABC callback event(get fired <if ABCAsync is called> when data available in your application)
实现“即发即IsOneWay
方法的一种方法是在OperationContract
属性上使用IsOneWay
属性,如下所示:
[OperationContract(IsOneWay=true)]
public void SomeMethod(string someValue);
设置为true时,操作不会返回消息。 请注意,标记为单向的方法不能具有返回类型或ref
或out
参数(这是有意义的)。 它也不应该与异步调用混淆,因为它不是一回事(事实上,如果需要一段时间才能获得连接,单向调用可能会阻塞客户端)。
有关更多信息,请参见OperationContractAttribute.IsOneWay属性 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.