2011-12-12 63 views
0

目前我正在執行的數據庫查詢是這樣的:如何等待數據庫查詢完成?

_svc = new Service1Client(); 
_svc.GetStateCompleted += new EventHandler<GetStateCompletedEventArgs>(_svc_GetStateCompleted); 

    private void _svc_GetStateCompleted(object sender, userdetCompletedEventArgs e) 
    { 
     //some code 
    } 

調用查詢功能,

_svc.GetStateAsync(args); 
//more code 

反正是有GetStateAsync後,我可以等到服務函數返回一個值?

+0

您應該異步運行所有內容,而不是等待某件事完成。您可以將響應分配給對象,然後檢查相應的更改。 –

+1

這些問題如何與Windows Azure平臺和SQL Azure相關?這是一般的異步/同步問題,不管底層數據庫或平臺部署如何,答案都應該是一樣的。 另外,使用斷開連接的客戶端,阻止用戶界面直到某些事情完成並不是個好主意。一般來說,屏蔽用戶界面並不好(當你「等待」某些事情完成時會發生這種情況)。異步編程就是這樣的。 – astaykov

+0

你有什麼是正確的方法。你想解決什麼問題? – ChrisF

回答

0

通常,您不會等待長時間運行操作才能完成。有辦法實現這一點,但通常情況下,如果用戶不希望用戶與應用程序交互,直到完成 - 您將禁用所有輸入並顯示某種進度指示器,直到操作完成。