2
我調用QueryJourneys,它會對d2進行異步調用,但在嘗試使用WebClient異步地下載某些內容(XML)時會失敗。利用異步CTP並引發InvalidOperationException異常「Task_Start_NullAction」的C#代碼
我得到的異常InvalidOperationException異常以字符串「Task_Start_NullAction」作爲唯一的消息。
出了什麼問題?
調用代碼:
autoCompleteBox.ItemsSource = await OpenAPI.QueryStation(e.Parameter);
背後拋出異常的代碼:
public static Task<IEnumerable<Journey>> QueryJourneys(
Point from,
Point to,
DateTime lastStart)
{
string str = cs_requestResultPage(from, to, lastStart);
Task<IEnumerable<Journey>> t = d2(str);
t.Start();
return t;
}
private static async Task<IEnumerable<Journey>> d2(string str)
{
var webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
string t = await webClient.DownloadStringTaskAsync(new Uri(str));
var view = new ResultPageView(XDocument.Parse(t));
return view.Journeys;
的異常被拋出在這裏。我以爲我寫了那個,而且我顯然沒有。 'string t = await webClient.DownloadStringTaskAsync(new Uri(str));' – 2012-01-08 19:53:35
@RobertSundström:真的嗎?這聽起來不太可能 - 你能包括完整的堆棧跟蹤嗎?正如我所說的,我希望失敗的是調用Task.Start()。無論如何, – 2012-01-08 20:01:38
。謝謝你的回答。 我很新的語法,有時它變得複雜。我真的想知道推出了一個「任務」。沒想到'await'會自動啓動它。想知道爲什麼我這麼做。沒關係。 – 2012-01-08 20:02:20