2010-07-29 118 views
1

默認情況下,Web服務調用是同步還是異步?如何通過服務或客戶確定同步性?Web服務調用的同步性

我有類似下面的代碼:

try 
{ 
    string result = MakeWebServiceCall_1(); // this is a third party webservice 
    MakeWebServiceCall_2(result); // another webservice which must happen *after* the first one is complete 
} 
catch() 
{ 
    SetStatus(Status.Error); // this calls my own stored procedure 
    throw; 
} 
SetStatus(Status.Sucess); 

在上面,SetStatus被寫入到從讀取第三方Web服務相同的表。如果我在兩個Web服務調用完成之前都改變了狀態,它將會變得非常混亂,我會被解僱。我如何知道/確保Web服務調用是同步的?

回答

2

根據MSDN,當您添加對Web Service的引用時,它將實現在代理類中同步和異步調用Web Service的方法。你只需要確保你打電話是正確的。

通過使用「添加Web引用」對話框找到要讓應用程序訪問的XML Web服務後,單擊「添加引用」按鈕將指示Visual Studio將服務描述下載到本地計算機,然後生成代理所選XML Web服務的類。代理類將包含用於同步調用每個暴露的XML Web服務方法的方法異步Source

+0

+1知道如何使用谷歌/冰/等) – TheGeekYouNeed 2010-07-29 09:06:18

+1

@Geek如果這應該是我冷嘲熱諷,嘗試谷歌搜索「如何同步調用Web服務」,並看到所有的結果如何無用的。我從來沒有發佈任何東西,沒有花費很多時間試圖自己搞清楚。 – fearofawhackplanet 2010-07-29 10:08:20