10

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

我已经找到:

我什至没有得到它们之间的真正区别。

我都安装了。Visual Studio Async 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?)

那么我应该如何使用这些东西是真的吗?

4

2 回答 2

4

我认为你不应该那样做。Visual Studio 2010 版本的 async/await 更像是一个预览版。如果您想在实际的生产级代码中使用它,您绝对应该升级到 Visual Studio 2012(或 2013,如果您可以稍等片刻)。

如果您在出于某种原因需要 Visual Studio Pro 的实际生产代码中不需要它,并且只是在玩弄,您可以使用 Visual Studio 2012 Express。

于 2013-07-01T09:34:44.633 回答
-1

我正在做类似的事情(我正在 VS2010 中编写一个 RestApiLibrary,我从 VS2017 项目中借来的)并发现以下 URL 很有帮助。

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' 方法和 '.Result' 属性似乎是 VS2010 中(某种程度上使用)异步函数的关键。请注意,我怀疑这是否以传统的异步方式运行,但至少这种方式您可以在 VS2010 中使用异步方法。

希望这可以帮助!

于 2018-09-11T15:32:06.207 回答