我想在一個單獨的線程中執行HttpWebRequest
。後臺線程中的HttpWebRequest
比如我有:
public string GetPage(string url)
{
string html = new WebClient().DownloadString(url);
return html;
}
如何我會在一個單獨的線程中運行這個,沒有什麼麻煩?
我試過開始一個簡單的線程,但我不知道如何返回HTML。
我想在一個單獨的線程中執行HttpWebRequest
。後臺線程中的HttpWebRequest
比如我有:
public string GetPage(string url)
{
string html = new WebClient().DownloadString(url);
return html;
}
如何我會在一個單獨的線程中運行這個,沒有什麼麻煩?
我試過開始一個簡單的線程,但我不知道如何返回HTML。
要做到這一點 「沒有什麼麻煩」,使用C#5.0
public async void DoWork(string url)
{
string page = await new WebClient().DownloadStringTaskAsync(url);
//Caller thread will not be blocked but you will be able to
//continue your work at this point after BG thread
//(executing "DownloadStringTaskAsync") has downloaded the page
}
「沒有什麼麻煩」 的可能性不大......
選項:
你不能「迴歸」的結果不阻塞當前線程;這真的有點擊敗另一個線程的目的。 –
你在做什麼的結果?任何理由不能把它放在後臺線程上? – BAF