經過長時間的努力,閱讀了一些關於書籍中異步任務的東西。我做了第一個包含異步任務的程序。只有弄清楚,我只能開始一項任務。我想多運行一次任務。這是我發現那似乎不工作的地方。是一點點清晰,這裏是我的代碼的某些部分:同一異步任務的多個實例(Windows Phone)
InitFunction(var);
這是任務本身
public async Task InitFunction(string var)
{
_VarHandle = await _AdsClient.GetSymhandleByNameAsync(var);
_Data = await _AdsClient.ReadAsync<T>(_VarHandle);
_AdsClient.AddNotificationAsync<T>(_VarHandle, AdsTransmissionMode.OnChange, 1000, this);
}
這就像一個魅力當我執行任務的只有一次。但爲有可能多次運行它。像這樣?
InitFunction(var1);
InitFunction(var2);
InitFunction(var3);
,因爲如果我這樣做,現在(多任務一次),它要啓動任務仍在運行,並且它拋出一個exeption。
如果有人可以幫助我,這將是太棒了!
〜巴特
奧克,謝謝你的回覆。但我發現這確實是一個「一次」限制的問題。 在AdsClient中,我試圖打開一個套接字。這是第二個實例失敗的地方,因爲套接字當前正在或正被第一個任務打開。謝謝你的支持者,現在事情很清楚! – 2012-03-26 13:55:47