我在寫一個必須訪問MySQL數據庫的程序。爲此,我編寫了一個PHP WebService以獲取表中的所有值。我遇到的問題是我正在用C#編寫一個函數來獲取這些值。我希望函數等待,直到調用DownloadStringCompleted事件的事件處理程序,然後返回值。我這樣做:System.Net.WebClient問題
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadCompletedHandler);
client.DownloadStringAsync(new Uri(Application.Current.Host.Source.AbsoluteUri + "\\PHP\\GetAdmins.php"));
while (DownloadCompleted == false) { }
return DownloadResult;
但是,這使得程序掛起。
我需要的東西,將暫停程序的一部分,直到DownloadConpleted = true。
我正在運行Visual Studio Ultimate 2010,我正在製作一個Silverlight應用程序,任何幫助將不勝感激。
與調用方法的阻塞版本不同:webClient.DownloadString(new Uri(「http://google.com」)); ??? – 2011-03-26 23:48:04
@Mitch - 是的但在Silverlight afaik中不支持 - 這是啓用同步請求的柺杖,但正如評論中提到的,OP應該採用異步方法,而不是嘗試查找解決方法。 – BrokenGlass 2011-03-26 23:49:33
啊,SilverLight!錯過了那一點。 – 2011-03-26 23:50:28