草庐IT

Async-await

全部标签

c# - 在 .NET 4.0 中创建可与 .NET 4.5 中的 "await"一起使用的异步方法

我有一个在.NET4.0和VS2010中使用C#的.NET项目。我想做的是向我的库中添加一些异步重载,以便使用await关键字使.NET4.5中的用户更容易进行异步编程。现在被重载的方法是非异步的。此外,我不想自己使用任何异步方法,只需创建新方法并使它们可用。是否可以在.NET4.0和VS2010中创建异步方法?如果可以,.NET4.0异步方法应该是什么样子?因为我使用的是VS2010,所以我无权访问“async”关键字,那么在.NET4.0中需要做什么来模拟该行为?例如,它是否需要返回任何特定类型,是否需要在方法内部发生任何代码以使其调用的当前非异步代码异步发生?

c# - 在 .NET 4.0 中创建可与 .NET 4.5 中的 "await"一起使用的异步方法

我有一个在.NET4.0和VS2010中使用C#的.NET项目。我想做的是向我的库中添加一些异步重载,以便使用await关键字使.NET4.5中的用户更容易进行异步编程。现在被重载的方法是非异步的。此外,我不想自己使用任何异步方法,只需创建新方法并使它们可用。是否可以在.NET4.0和VS2010中创建异步方法?如果可以,.NET4.0异步方法应该是什么样子?因为我使用的是VS2010,所以我无权访问“async”关键字,那么在.NET4.0中需要做什么来模拟该行为?例如,它是否需要返回任何特定类型,是否需要在方法内部发生任何代码以使其调用的当前非异步代码异步发生?

c# - ASP.NET Controller : An asynchronous module or handler completed while an asynchronous operation was still pending

我有一个非常简单的ASP.NETMVC4Controller:publicclassHomeController:Controller{privateconststringMY_URL="http://smthing";privatereadonlyTasktask;publicHomeController(){task=DownloadAsync();}publicActionResultIndex(){returnView();}privateasyncTaskDownloadAsync(){using(WebClientmyWebClient=newWebClient())ret

c# - ASP.NET Controller : An asynchronous module or handler completed while an asynchronous operation was still pending

我有一个非常简单的ASP.NETMVC4Controller:publicclassHomeController:Controller{privateconststringMY_URL="http://smthing";privatereadonlyTasktask;publicHomeController(){task=DownloadAsync();}publicActionResultIndex(){returnView();}privateasyncTaskDownloadAsync(){using(WebClientmyWebClient=newWebClient())ret

c# - 将 Func 委托(delegate)与 Async 方法结合使用

我正在尝试将Func与异步方法结合使用。我收到一个错误。Cannotconvertasynclambdaexpressiontodelegatetype'Func'.Anasynclambdaexpressionmayreturnvoid,TaskorTask,noneofwhichareconvertibleto'Func'.下面是我的代码:publicasyncTaskCallAsyncMethod(){Console.WriteLine("CallingYoutube");HttpClientclient=newHttpClient();varresponse=awaitclie

c# - 将 Func 委托(delegate)与 Async 方法结合使用

我正在尝试将Func与异步方法结合使用。我收到一个错误。Cannotconvertasynclambdaexpressiontodelegatetype'Func'.Anasynclambdaexpressionmayreturnvoid,TaskorTask,noneofwhichareconvertibleto'Func'.下面是我的代码:publicasyncTaskCallAsyncMethod(){Console.WriteLine("CallingYoutube");HttpClientclient=newHttpClient();varresponse=awaitclie

c# - 在基类上使用虚拟异步方法可以吗?

我正在处理一些代码,其中我有2个逻辑和代码非常相似的类。我在两个类上都有protectedasyncvoidLoadDataAsync()方法。目前我正在重构它并考虑将共享逻辑移至基类。在基类上使用virtualasync方法并在派生类上覆盖它是否可以?有什么问题吗?我的代码如下所示:publicclassBase{protectedvirtualasyncvoidLoadDataAsync(){}}publicclassDerived:Base{protectedoverrideasyncvoidLoadDataAsync(){//awaitingsomething}}Similar

c# - 在基类上使用虚拟异步方法可以吗?

我正在处理一些代码,其中我有2个逻辑和代码非常相似的类。我在两个类上都有protectedasyncvoidLoadDataAsync()方法。目前我正在重构它并考虑将共享逻辑移至基类。在基类上使用virtualasync方法并在派生类上覆盖它是否可以?有什么问题吗?我的代码如下所示:publicclassBase{protectedvirtualasyncvoidLoadDataAsync(){}}publicclassDerived:Base{protectedoverrideasyncvoidLoadDataAsync(){//awaitingsomething}}Similar

c# - 尝试创建 Assets 时出现 System.NotSupportedException

我正在尝试在AzureAPI服务中使用AzureMediaServiceAPI和AzureStorageAPI/。用户将视频流作为HttpPost发送到服务,该服务将视频作为blob保存在我的存储帐户中,媒体服务对视频进行编码,当视频的链接是准备好返回给用户。但是当我尝试创建一个Asset时,会抛出一个System.NotSupportedException消息:Exceptionthrown:'System.NotSupportedException'inMicrosoft.Data.Services.Client.dllExceptionthrown:'System.NotSupp

c# - 尝试创建 Assets 时出现 System.NotSupportedException

我正在尝试在AzureAPI服务中使用AzureMediaServiceAPI和AzureStorageAPI/。用户将视频流作为HttpPost发送到服务,该服务将视频作为blob保存在我的存储帐户中,媒体服务对视频进行编码,当视频的链接是准备好返回给用户。但是当我尝试创建一个Asset时,会抛出一个System.NotSupportedException消息:Exceptionthrown:'System.NotSupportedException'inMicrosoft.Data.Services.Client.dllExceptionthrown:'System.NotSupp