草庐IT

target-async

全部标签

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,然

c# - Xamarin.iOS ARKit 演示项目错误 : “32-bit architectures are not supported when deployment target is 11 or later"

从https://developer.xamarin.com/samples/monotouch/ios11/ARKitSample/部署ARKit示例项目时,我收到构建错误Invalidarchitecture:ARMv7。当部署目标为11或更高版本时,不支持32位架构。所有与部署设备和我的开发机器一起检查:我在部署设备上运行iOS11(iPhone6SPlus-ARKit不会在模拟器中运行),并且安装了Xcode9(并且在启动VisualStudioforMac之前启动过一次)。VisualStudioforMac也已更新到最新的稳定版本(ARKit目前在Alpha和Beta版本中

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

c# - Web API 2/MVC 5 : Attribute Routing passing parameters as querystring to target different actions on same controller

我一直在玩新的WebAPI2(顺便说一句,它看起来很有前途),但我有点头疼要让一些路由正常工作。当我有GetAllUsers/GetUser(intid)时一切正常,但是当我添加GetUserByName(stringname)和/或GetUserByUsername(stringusername)时,事情开始变得令人毛骨悚然。我知道int将是第一个,我可以重新排序路由,但让我们想象一下以下场景:用户可以有一个有效的username=1234或name=1234(我知道这不太可能,但我们需要防止任何可能的情况)并且我们可能有一个有效的1234数据库中的ID和所有路由将混淆。也许这是我们

c# - 它有什么区别 - 使用 Task.Run 运行 'async' Action 委托(delegate)(与默认 Action 委托(delegate)相比)?

我正在努力了解async/await并认为我确实了解有关用法的一些事情。但仍然不太清楚在下面的场景中实际好处是什么。查看Task.Run用法。第一种方法使用普通委托(delegate)并使用Thread.Sleep,但第二种方法使用“异步”委托(delegate)和Task.Delay。我的问题是:这对这个方法有什么影响(或没有影响)?该方法本身是一个异步方法。该代码正在创建一个单独的线程(通过Task.Run),并且该线程除了执行该委托(delegate)之外别无他法。因此,即使它在Task.Delay上产生等待,在这种情况下有什么用,因为线程无论如何都是一个孤立的线程,不用于任何其

c# - 在实现具有同步和异步 API 的库以实现相同功能时使用 async await

关于如何在库中提供相同功能的同步和异步实现,我有几个问题。我会先问他们,然后提供下面的示例代码(实际上很多,但实际上很简单)。有没有办法避免违反DRY原则?考虑JsonStreamReader.Read的实现,JsonStreamWriter.Write,JsonStreamWriter.Flush,ProtocolMessenger.Send,ProtocolMessenger.Receive及其异步版本。在对同一方法的同步和异步版本进行单元测试时,是否有一种方法可以避免违反DRY原则?我正在使用NUnit,尽管我想所有框架在这方面应该都是一样的。应该如何实现返回Task的方法或Ta

c# - 为什么在任何 .csproj 文件中都找不到 <Target Name ="Build">?

只是好奇-每当我看到.csproj的xml时,它都以DefaultTargets="Build"开头因此我假设应该存在;但是,我从未在任何.csproj中找到此默认目标。文件。VS是在编译前注入(inject)这个目标还是msbuild默认构建它。内部发生了什么? 最佳答案 在文件底部附近,您会看到这个;导入标准目标,“Build”就是其中之一。导入基于项目文件中可用的其他数据以动态方式生成“构建”目标。 关于c#-为什么在任何.csproj文件中都找不到?,我们在StackOverfl