簡體   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