草庐IT

co_await

全部标签

c# - 为什么 Await 不会出现阻止对 EF 上下文的第二次操作

在ASP.NETMVC应用程序中,我收到以下关于使用EntityFramework上下文的Controller方法之一的错误消息。Asecondoperationstartedonthiscontextbeforeapreviousasynchronousoperationcompleted.Use'await'toensurethatanyasynchronousoperationshavecompletedbeforecallinganothermethodonthiscontext.Anyinstancemembersarenotguaranteedtobethreadsafe.

c# - 使用 Async & Await 的 ASP.NET C#5 异步 Web 应用程序

研究过异步web开发的概念,具体来自this源,我创建了一个示例应用程序来证明这个概念。该解决方案由2个ASP.NETWebAPI应用程序组成。第一个是模拟的慢端点;它等待1000毫秒,然后返回一个名为Student的自定义类列表:publicIEnumerableGet(){Thread.Sleep(1000);returnnewList{newStudent{Name=@"Paul"},newStudent{Name=@"Steve"},newStudent{Name=@"Dave"},newStudent{Name=@"Sue"}};}这是学生类:publicclassStude

c# - 我可以指定在 await continuation 完成后我希望保留哪些变量吗?

在async方法中,任何局部变量都被存储起来,以便在await之后继续执行的任何线程都可以访问这些值。在await之后有什么方法可以指示真正需要哪些值?例如:varfirstName="Karl";varlastName="Anderson";varstreet1="123NowhereStreet";varstreet2="Apt1-A";varcity="BeverlyHills";varstate="California";varzip="90210";awaitMyTaskHere();Console.WriteLine(firstName);Console.WriteLine

c# - Async/Await VS Task.Run : When to use ? 如何使用?

好吧,我希望我掌握了async/await的基础知识,但仍有一些问题在我脑海中挥之不去。但是现在我说的就是这个问题了。假设在这个简单的例子中staticvoidMain(string[]args){Method();Console.WriteLine("MainThread");Console.ReadLine();}publicasyncstaticvoidMethod(){awaitTask.Run(newAction(LongTask));Console.WriteLine("NewThread");}publicstaticvoidLongTask(){Thread.Sleep

c# - 为什么 C# 5.0 await 关键字被列为运算符而不是修饰符?

MSDN库liststheawaitkeywordasanoperator.这对我来说似乎很奇怪-我以为它是一个修饰符,比如theasynckeyword.为什么这是一个运算符? 最佳答案 async是声明的修饰符。类似于public.await是一种使用异步运算符并对其执行某些操作的操作。类似于return.await不是修改放在它后面的内容,而是指定如何处理该操作。对比async实际上并没有修改任何东西,它只是标记一个特定的方法是async的样式(从语法的角度来看,最终的await执行了对方法结构的所有更改)。

c# - async/await 单元测试代码覆盖率

如何为异步/等待方法编写单元测试,我使用的是VisualStudio2013。假设我们有一个异步方法:publicasyncTaskDoSomethingAsync(){...await_service.DoInternalAsync();...}由于我使用的是最新版本的VisualStudio,它对异步方法单元测试有很好的支持:[TestMethod]publicasyncTaskDoSomthingAsyncTest(){...await_objectUnderTest.DoSomethingAsync();//howtoverifytheresult???hereiswhatId

c# - 在 .Select lambda 中使用 async/await

我正在使用Asp.NetCoreIdentity并尝试简化一些将用户列表及其角色转换到ViewModel的代码。这段代码有效,但在试图简化它的过程中,我陷入了错误和好奇的疯狂漩涡中。这是我的工作代码:varallUsers=_userManager.Users.OrderBy(x=>x.FirstName);varusersViewModel=newList();foreach(varuserinallUsers){vartempVm=newUsersViewModel(){Id=user.Id,UserName=user.UserName,FirstName=user.FirstNa

c# - 使用 Async 和 Await 中断数据库调用(使用 Dapper)

我们从Dapper请求返回数千个对象并达到参数限制(2100),因此决定分块加载它们。我认为这是尝试AsyncAwait的好机会-这是我第一次尝试,所以可能会犯小学生错误!断点被击中,但整个事情就是没有返回。它没有抛出错误-一切似乎都在黑洞中进行!请帮忙!这是我原来的方法——它现在调用异步方法publicListGet(IEnumerableids){returnthis.GetMyObjectsAsync(ids).Result.ToList();}//Breakpointonthisfinalbracketnevergetshit我添加了这个方法来将id分成1000个block,然

async 和 await 原来这么简单

前言前端同学们可能都知道async和await的使用,当被面试官问到async和await的是什么?或者说一说你对async、await的理解?如果我们还是仅仅去阐述我是如何使用的就显得格外的苍白无力。今天博主就来带大家进一步认识我们的async和await。首先来说由于浏览器/引擎负责解释和执行JavaScript的主线程是单线程,同步执行一个耗时较大的任务会导致阻塞。异步执行代码就是来解决阻塞问题,但会带来顺序的不确定性(多个异步执行过程的不确定性)回调函数如果说这些异步之间不会相互依赖或者不会因为顺序不确定收到影响是么有关系的,但是如果我们一些逻辑需要依赖某个异步的返回值那么这个时候我们

c# - 使用 Async 和 Await 进行异步编程

我正在浏览有关如何在C#中进行异步编程的教程,但遇到了一个我不确定如何解决的错误。这是链接:http://msdn.microsoft.com/en-us/library/hh191443.aspx错误是:Cannotfindalltypesrequiredbythe'async'modifier.Areyoutargetingthewrongframeworkversion,ormissingareferencetoanassembly?我的目标是.NET4.0框架,但不确定是否需要任何其他程序集。代码如下:publicasyncTaskAccessTheWebAsync(Class