如何使用Visual Studio 2010和.NET 4.0异步?(How to use asyn

2019-09-03 06:25发布

我想异步支持添加到当前的VS 2010的.NET 4.0的C#项目

我已经找到:

  • Visual Studio的异步CTP - http://www.microsoft.com/en-us/download/details.aspx?id=9983
  • Microsoft.Bcl.Async - https://nuget.org/packages/Microsoft.Bcl.Async

我甚至不得到它们之间真正的区别。

我安装了。 的Visual Studio异步CTP(第3版),Microsoft.Bcl和Microsoft.Bcl.Async。 (也用来运行tools\portable-net40+sl4+win8+wp71\install.ps1在Microsoft.Bcl)

而依然看不到任何效果。 对于同样的错误

public async Task<CommResponse>

- >

Error   37  The type or namespace name 'async' could not be found (are you missing a using directive or an assembly reference?)

因此,它是真正的我应该如何使用这个东西吗?

Answer 1:

我不认为你应该做的。 在Visual Studio 2010年版异步电动机/等待更是一个预览比什么都重要的。 如果你想在实际生产水平的代码使用这个,你一定要升级到Visual Studio 2012(或2013年,如果你能等待一小会儿)。

如果您不需要做这在实际生产代码,出于某些原因需要的Visual Studio Pro和只是玩弄你身边,你可以使用Visual Studio 2012快。



Answer 2:

我的工作类似的东西(我写在VS2010一个RestApiLibrary,我从VS2017项目借来的),发现下面的网址是有帮助的。

https://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee

这有助于最主要的是:

        // Send a request asynchronously continue when complete 
        client.GetAsync(_address).ContinueWith( 
            (requestTask) => 
            { 
                // Get HTTP response from completed task. 
                HttpResponseMessage response = requestTask.Result; 

                // Check that response was successful or throw exception 
                response.EnsureSuccessStatusCode(); 

在“ContinueWith”方法,和“结果”属性似乎是关键(排序使用的)在VS2010异步函数。 请注意,我怀疑这种行为在传统的异步方式,但至少这种方式,您可以在VS2010使用异步方法。

希望这可以帮助!



文章来源: How to use async with Visual Studio 2010 and .NET 4.0?