繁体   English   中英

如何从ASP.Net以“一视不发”的方式调用Web服务

[英]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时,操作不会返回消息。 请注意,标记为单向的方法不能具有返回类型或refout参数(这是有意义的)。 它也不应该与异步调用混淆,因为它不是一回事(事实上,如果需要一段时间才能获得连接,单向调用可能会阻塞客户端)。

有关更多信息,请参见OperationContractAttribute.IsOneWay属性

你试过这个吗?

http://msdn.microsoft.com/en-us/library/bb885132(v=vs.110).aspx

这是另一种方法,检查出来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM