我已經安裝了NuGet包爲異步的.NET Framework 4,Silverlight的4和5,和Windows Phone 7.5和8方法誤差從
的await和異步特性「不能等待 'System.Threading.Tasks.Task'Version 1.0.16
我使用的是Microsoft .NET 4.0,由於Web Hosting Package Restrictions,我無法升級。 (可悲!)
我的測試代碼:(我在做一個LINQ到SQL查詢到位Thread.sleep代碼的)
public class Search
{
public async Task<List<Result>> GetResults(string SearchString)
{
await System.Threading.Tasks.Task.Factory.StartNew(() => Thread.Sleep(1000));
}
}
我的錯誤:
有關錯誤Cannot await 'System.Threading.Tasks.Task'
http://blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx會談但它並不是真正的答案,因爲我不使用VB,而且我已經在做解決方案所描述的內容。
[編輯] 我得到一個警告:
Warning 4 The primary reference "Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" could not be resolved because it has an indirect dependency on the framework assembly "System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" or retarget your application to a framework version which contains "System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
感謝您的幫助。
等待睡眠仍然會消耗線程池線程的時間。如果您沒有用於正確異步操作的工具,則最好使用完全同步的方法,而不是使用異步同步。 – Servy
這是一種測試方法,而不是我正在使用的實際方法。我正在運行SQL鏈接查詢來代替睡眠。 –
這是一個Web應用程序嗎? –