如果這是一個基本問題,請先行道歉。我如何在現有WCF Web服務中啓動外部Web服務調用,而不是等待第三方服務在繼續並退出該函數之前返回響應,以便我的Web服務立即返回值?WCF服務 - 不要等待外部網絡服務電話
回答
您需要對異步的外部服務進行調用。根據您所在的框架的版本,有不同的選項。如果你在4.5看看異步:http://msdn.microsoft.com/en-us/library/vstudio/hh156513.aspx
我們目前正在做類似的事情 - 使用RestSharp從WCF異步調用restful服務。看看這裏的一個例子:Fire and Forget from within a WCF service
當你說「立即返回一個值」你是說你想調用WCF服務本身是非阻塞的?那麼它會馬上返回給客戶?如果是這樣,你需要使你的WCF服務合同OneWay。請參閱:http://msdn.microsoft.com/en-us/library/ms733035.aspx但是,您無法從OneWay服務返回值。
您可以運行,這將發起呼叫的第三方和實施,你可以用它來檢查,看看結果都進行了相應的恢復和行動第二輪詢方法異步方法。
我們做類似的導入文件。踢過程並讓客戶進行更新。
你可以顯示一些例子或代碼? –
如果web服務已經存在,你沒有過任何控制,我通常只需要創建一個線程來處理函數調用。
然而,在.NET 4.5中,有 '異步' Web服務函數調用。如果你有機會到這個功能,這將是首選的解決方案
假設你不依賴於第三方的結果來計算你的返回值。
您需要按照以下方式構建您的webservice方法。它只是僞代碼。
public bool YourMethod()
{
//this will be a non-blocking call
MakeAsyncCallToThirdParty();
return true;
}
- 1. 部署wcf網絡服務
- 2. WCF服務電話
- 3. WCF Rest服務電話
- 4. 會話vs致電網絡服務
- 5. 監控WCF網絡服務
- 6. WCF使用網絡服務
- 7. 不要等待服務器使用ZeroMQ
- 8. 如何監控外部網絡服務?
- 9. SSRS呼叫外部URL /網絡服務
- 10. 訪問外部網絡服務器couchdb
- 11. WCF網絡服務不能與https
- 12. 等待WCF服務的最佳方式?
- 13. 部署wcf服務網站
- 14. windows服務/網絡服務
- 15. 如何等待外部進程()爲外部進程(服務)
- 16. 等待任務中外部web服務的結果
- 17. 網絡服務
- 18. 從外部網站取數據而不使用網絡服務
- 19. Django runserver在等待查詢服務器的外部Web服務時掛起
- 20. Monotouch - 許多WCF服務電話
- 21. 在wcf服務電話上設置CultureInfo?
- 22. WCF服務託管在Windows服務通過網絡TCP
- 23. WebDav麻煩for restfull WCF網絡服務
- 24. 正在上傳.net網絡服務/ WCF
- 25. WCF網絡服務定製授權
- 26. 本地網絡中的WCF服務
- 27. 無法運行WCF https網絡服務
- 28. AspNetCompatibilityRequirements導致WCF網絡服務阻止
- 29. WCF客戶端和服務在同一個服務器上的網絡服務
- 30. 將WCF服務公開爲asmx(網絡服務)並託管在窗口服務
你嘗試中的鏈接[如何使我的WCF服務的異步調用?](http://stackoverflow.com/questions/400798/how-to-make-a-call-to-my-wcf - 服務異步) –