jjzjj

c# - 等待和异步属性中的方法错误 'Cannot await ' System.Threading.Tasks.Task'

我已经为.NETFramework4、Silverlight4和5以及WindowsPhone7.5和8安装了NuGetPackageAsync。Version1.0.16我使用的是Microsoft.NET4.0,但由于虚拟主机包限制,我无法升级。(可悲!)我的测试代码:(我正在执行LinqtoSQL查询代替Thread.Sleep)publicclassSearch{publicasyncTask>GetResults(stringSearchString){awaitSystem.Threading.Tasks.Task.Factory.StartNew(()=>Thread.S

c# - 在库的异步方法中总是使用 'async' 和 'await' 关键字?

总结:在库方法中,什么时候应该使用async和await关键字而不是返回Task直接?我相信我的问题与thisone有关.但是,这个问题是关于.NET4.0的。和TPL,同时我将.NET4.6与async一起使用和await关键字。因此,我认为我的问题可能会得到不同的答案,因为在回答链接问题时这些关键字不存在。说明:我正在为外部WCF服务编写一个简单的包装器,该包装器生成多个SendAsync电话。现在我认为每个包装器方法应该只返回一个Task。直接不用等待。我的理解是async/await应该在应用层使用,不在库中使用。因此,例如,这是我认为我应该为每个包装器方法采用的方法:priv

c# - Async/await 作为协程的替代品

我使用C#迭代器替代协程,它一直运行良好。我想切换到async/await,因为我认为它的语法更清晰并且它给了我类型安全性。Inthis(outdated)blogpost,JonSkeetshowsapossiblewaytoimplementit.我选择了一种稍微不同的方式(通过实现我自己的SynchronizationContext并使用Task.Yield)。这很好用。然后我意识到会有问题;目前协程不必完成运行。它可以在任何让步的地方优雅地停止。我们可能有这样的代码:privateIEnumeratorSleep(intmilliseconds){Stopwatchtimer=

c# - 为什么编译器不允许在 catch block 中使用 await

假设我有一个异步方法:publicasyncTaskDo(){awaitTask.Delay(1000);}另一种方法是尝试在catchblock中调用Do方法publicasyncTaskDoMore(){try{}catch(Exception){awaitDo();//compilederror.}}但是这样一来,编译器就不允许在catch中使用await了,有没有什么原因导致我们不能那样使用它? 最佳答案 更新这将在C#6中得到支持。事实证明,这并非根本不可能,并且该团队想出了如何做到这一点而又不会在实现过程中陷入困境:)原

c# - await DoSomethingAsync 有什么意义

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭7年前。Improvethisquestion我正在努力思考所有已添加到最新版本的.NET框架中的异步内容。我理解其中的一部分,但老实说,我个人认为它不会让编写异步代码变得更容易。与我们在async/await出现之前使用的更传统的方法相比,我发现它在大多数时候相当困惑,而且实际上更难阅读。无论如何,我的问题很简单。我看到很多这样的代码:varstream=awaitfile.readAsStreamAsync()这是怎么回事?这不等同

c# - 在 Windows 8 C# 上解压 ZIP 文件

我正在为Windows8构建一个metro风格的应用程序,我有一个从Web服务下载的zip文件,我想解压它。我看过压缩和解压缩的示例,但它需要一个文件并对其进行压缩/解压缩。我有一个完整的目录结构需要提取。这是我目前所拥有的:varappData=ApplicationData.Current;varfile=awaitappData.LocalFolder.GetItemAsync("thezip.zip")asStorageFile;vardecompressedFile=awaitApplicationData.Current.LocalFolder.CreateFileAsyn

c# - 如何将 .net 4.5 Async/Await 示例转换回 4.0

等效的asp.netmvc4.0代码是什么样的?usingSystem.Net;usingSystem.Net.Http;usingSystem.Web.Mvc;usingSystem.Threading.Tasks;usingNewtonsoft.Json;namespaceWeb.Controllers{publicclassHomeController:Controller{privateHttpClienthttpClient=newHttpClient();privatestaticdynamicshots;publicasyncTaskIndex(){if(shots==n

c# - async 和 await 是否会提高 ASP.Net 应用程序的性能

我最近读了一篇关于c#-5和新的很好的异步编程特性的文章。我看到它在Windows应用程序中效果很好。我的问题是此功能是否可以提高ASP.Net性能?考虑这两个伪代码:publicTGetData(){vard=GetSomeData();returnd;}和publicasyncTGetData2(){vard=awaitGetSomeData();returnd;}在一个ASP.Net应用程序中,两个代码有区别吗?谢谢 最佳答案 首先,您的第二段代码将返回Task而不是T.最终的答案是“视情况而定”。如果您的页面需要访问多个数据

c# - await 和 async 与 Task 并行库的区别

任务并行库和await、async有什么区别。引入await和async的必要性是什么?我看到TPL是C#4.0的一部分,await/async是C#5.0的一部分,但除此之外,基本区别是什么。引入这个新关键字的必要性是什么? 最佳答案 任务并行库是为parallelprogramming设计的-当您有很多工作要做并且想在多个线程之间拆分这些工作以便您可以使用所有CPU内核时。TPL最适合CPU密集型工作。Async和await适用于asynchronousprogramming-当你有一个操作(或多个操作)将在未来完成,而你想同时

c# - 什么是 async 和 await,什么时候在 Windows 开发中使用它们?

我一直看到Silverlight中使用的关键字async但想知道是否有人对它是什么以及何时使用它及其好处有一个假人的解释。如果您能解释一下,将不胜感激。谢谢。 最佳答案 从myintroductoryarticleinMSDNmagazine开始。然后阅读thepapersontheasyncCTPsite。然后阅读thesefifteenarticles:。如果您仍然有疑问,请尝试在theasyncforum上提问。 关于c#-什么是async和await,什么时候在Windows开发