草庐IT

task_always_eager

全部标签

c# - 具有 Task.Run 性能的 ASP.NET Web API 2 异步操作方法

我正在尝试对几个ASP.NETWebAPI2.0端点进行基准测试(使用Apache基准测试)。其中一个是同步的,一个是异步的。[Route("user/{userId}/feeds")][HttpGet]publicIEnumerableGetNewsFeedItemsForUser(stringuserId){return_newsFeedService.GetNewsFeedItemsForUser(userId);}[Route("user/{userId}/feeds/async")][HttpGet]publicasyncTask>GetNewsFeedItemsForUse

c# - 支持 .NET 4.0 中的进度报告和增量结果 "Task Parallel Library"

我知道TaskParallelLibrary仍处于测试阶段,可用资源可能会减少,但从我所读的内容来看,图书馆对taskscheduling给予了非常特殊的对待。,exceptionhandling和cancellation.但我没有找到任何关于进度报告和发送增量结果的任务引用。这两件事似乎太重要了,不容忽视。您能否阐明如何在任务并行库中处理这些问题或引用一些解释它们的文章? 最佳答案 这个例子更新了一个进度条:usingSystem;usingSystem.Threading;usingSystem.Threading.Tasks;

c# - 从 TaskCompletionSource 返回 Task 而不是 Task<TResult>

正如我在几个codingexamples中看到的那样,以及我从这个SOquestion中可以理解的内容我应该能够从TaskCompletionSource返回一个非通用任务(i.e.,ReturnTaskandnotTaskfromthemethodUploadFilesAsync)还有下面的代码:publicasyncTaskUploadFilesAsync(stringfileAPath,stringfileBPath){vartcs=newTaskCompletionSource();//logictoprocessfilestry{awaitTask.WhenAll(uploa

c# - 无法将类型 'Task<Derived>' 转换为 'Task<Interface>'

我有以下带有委托(delegate)参数的函数,它接受一个接口(interface)的类型并返回另一个接口(interface)的任务。publicvoidBar(Func>func){thrownewNotImplementedException();}我还有一个带有参数的函数作为IMessage的实例并返回一个任务。Message和Result是IMessage的实现和IResult分别。privateTaskDoSomething(Messagem){returnnewTask(()=>newResult());}当我将DoSomething传递到Bar时收到错误。Bar(m=>

c# - 构建 Office 加载项时程序集绑定(bind)错误 : "FindRibbons" task failed unexpectedly

我们正在尝试设置Jenkins(构建服务器)作业以基于VSTO构建我们的Office加载项。但是,在将DLL复制到项目的bin目录后,我不断收到构建过程失败的奇怪错误:Error11The"FindRibbons"taskfailedunexpectedly.System.IO.FileNotFoundException:Couldnotloadfileorassembly'MyAddIn,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'oroneofitsdependencies.Thesystemcannotfindthefi

c# - 带有异步 lambda 和 Task.WaitAll 的 Task.Factory.StartNew

我正在尝试对任务列表使用Task.WaitAll。问题是任务是一个异步lambda,它会破坏Tasks.WaitAll,因为它从不等待。这是一个示例代码块:Listtasks=newList();tasks.Add(Task.Factory.StartNew(async()=>{using(dbContext=newDatabaseContext()){varrecords=awaitdbContext.Where(r=>r.Id=100).ToListAsync();//dolongcpuprocesshere...}}Task.WaitAll(tasks);//domorestuf

c# - 在键盘事件中使用 CancellationToken 调用 Task.Delay 时出现 TaskCanceledException

我正在尝试延迟从WinRT中的键盘事件调用的方法(示例中的SubmitQuery())的处理,直到一段时间内(在本例中为500毫秒)没有进一步的事件。我只希望在我认为用户已完成输入时运行SubmitQuery()。使用下面的代码,当Task.Delay(500,cancellationToken.Token)时,我不断收到System.Threading.Tasks.TaskCanceledException;叫做。请问我做错了什么?CancellationTokenSourcecancellationToken=newCancellationTokenSource();private

c# - 异步等待 Task.Run 与 HttpClient.GetAsync

我是c#5异步功能的新手。我试图了解这两种实现之间的区别:实现1:privatevoidStart(){foreach(varurlinurls){ParseHtml(url);}}privateasyncvoidParseHtml(stringurl){varquery=BuildQuery(url);//BuildQueryissomehelpermethodvarhtml=awaitDownloadHtml(query);//...MyTypeparsedItem=ParseHtml(html);SaveTypeToDB(parsedItem);}privateasyncTask

c# - 从以 Task 为返回类型的非异步方法返回什么?

假设我有一个不是异步但返回一个Task的方法(因为定义来自一个也用于异步实现的接口(interface))publicTaskDoWorkAsync(Guidid){//dotheworkreturn...;}返回的最佳对象是什么?我目前的选择:returnTask.Yield();returnTask.FromResult(null);//anyoftheotherbutcachedinastaticfieldandreused. 最佳答案 在Microsoft.net4.6中,Task类具有用于此目的的静态属性。任务.Compl

c# - .NET 4 相当于 Task.WhenAll()

在.NET4中,是否有与.NET4.5的System.Threading.Tasks.Task.WhenAll()等效的功能??目标是将多个异步任务打包成一个任务,当所有组成任务都完成时,该任务就完成了。 最佳答案 在.NETFramework4.0中,WhenAll和WhenAny可以与已安装的AsyncCTP一起使用如果是VisualStudio2010或AsyncTargetingPack对于VisualStudio2012。然后在TaskEx类型上提供WhenAll和WhenAny方法。