【c# – 同时执行所有任务并等待完成?】教程文章相关的互联网学习教程文章

c#-在ReactiveUI ViewModel中取消异步任务(ReactiveObject)【代码】

我目前正在使用ReactiveUI(5.5.1)进行实验,并创建了一个ViewModel(ReactiveObject的子类),它可以自动完成位置搜索(改编自mikebluestein/ReactiveUIDemo on github).每次查询文本更改时,都会调用REST服务,该服务返回所提交查询的匹配位置. 问题:正如您在下面的代码中看到的那样,可以取消DoSearchAsync(string query,CancellationToken cancelestToken),但是,我不确定如何(以及在??代码中的位置)实际取消任何搜索-因此使用Cancellat...

c#-无法将TransactionScope与任务一起使用【代码】

我试图在对不同SQL Server实例的两个查询中使用TransactionScope(将事务提升为MSDTC).我没有使用Tasks即可同步工作,但是异步使用Tasks时无法使事务回滚. 我已经隐藏了服务器的连接字符串和update语句,但是请放心,它们都可以毫无问题地连接并执行SQL.我故意将方法runTwo()中的SQL设置为失败并引发异常. 我正在使用.Net 4.5.2,其中包括枚举TransactionScopeAsyncFlowOption.Enabled(在TransactionScope构造函数中),我认为它应处理跨线...

C#-启动后台任务并立即返回【代码】

我有一个名为DownloadFileAsync(url,Func< RemoteFileResponse,Task> onDownloadFinished)的方法,该方法执行以下操作: >检查缓存,如果找到,立即返回缓存并启动后台任务以查看是否需要更新缓存>如果未找到,则返回null并启动后台任务以异步下载文件>下载文件后,它将调用onDownloadFinished处理程序. 这对我来说很脏,因为我需要在后台线程上执行下载,但我等不及了,因为我希望能够立即返回缓存的文件.问题是如果执行此操作,将会丢失任...

DynamoDB for C#中SaveAsync任务的问题【代码】

我正在尝试使用Context.SaveAsync方法将管理员类对象保存到DynamoDB:// Save admin to DynamoDB. context.SaveAsync(admin,(result)=>{if (result.Exception == null){ Console.WriteLine("admin saved");} });但是它使我不断出现以下错误:cannot convert `lambda expression' to non-delegate type `system.threading.cancellationtoken'我该如何处理?我正在使用Xamarin Studio for OS X解决方法:根据文档,DynamoDBContext.Sav...

c#-COMException(0x800401E3):操作不可用(来自HRESULT的异常:0x800401E3(MK_E_UNAVAILABLE))与计划任务【代码】

在网上搜索失败后,这是我的问题. 我要安排一个任务,以从Outlook中检索电子邮件的附件并提取数据.当我手动启动任务时,它工作正常,但是每当我尝试通过计划任务启动它时,都会失败并显示以下错误:COMException (0x800401E3): Operation unavailable (Exception from HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))程序尝试按以下方式检索或创建Outlook实例时会发生这种情况:private Application GetApplicationObject(){Application appli...

c#-对象完成后取消任务【代码】

我有一个启动任务的类,并希望确保在垃圾回收对象时任务停止. 我已经实现了IDisposable模式,以确保如果手动放置对象或在using块内使用该对象,则Task可以正确停止.但是,我不能保证最终用户将调用Dispose()或在using块内使用该对象.我知道垃圾收集器最终将调用终结器-这是否意味着任务仍在运行?public class MyClass : IDisposable {private readonly CancellationTokenSource feedCancellationTokenSource = new CancellationTokenS...

C#-为什么这么慢,.net任务嵌套子任务【代码】

我创建一个asp.net webapi测试应用程序,这是我的测试代码: 当我使用result = index.ToString()this.getresult().Result;时,响应时间为2秒.如果我使用Thread.Sleep(100); result = index.ToString();,只需要200毫秒.public class HomeController : Controller {public string Test(){var listName = new List<int>();for (int i = 0; i < 100; i++){listName.Add(i);}var response = Task.WhenAll(listName.Select(sendrequest)).R...

C#-调用多个任务【代码】

我有一个C#应用程序,我需要在其中调用四个异步任务(内部调用第三方Web服务).每个任务根据成功或失败返回布尔值true / false. 一旦这4个任务中的任何一个返回true,我就需要调用另一个方法PostProcessing().例如如果#2方法调用返回true,则需要中止处理并调用PostProcessing()方法. 如果所有任务都返回false,则我不想调用PostProcessing(). 请问实现此方法的最佳方法是Task.ContinueWith()吗? 谢谢.解决方法:我将为此使用Microsoft的...

C#-等待来自其他类的任务【代码】

我有一个单例类和一个从另一个类(类b)获取的属性,没问题.我希望其他类(类a)无限期等待,直到单例类中的属性转换为true.我想以最有效的方式做到这一点,所以我觉得任务很理想,但是我无法有效地将所有部分组合在一起.我不想继续轮询和休眠thread.sleep.public class A {public static void Main(string[] args){if(!Monitor.Instance.HasChanged){//await until the task in the Monitor class is complete}} }public class Monitor {p...

CodeGo.net> C#-返回一个任务,而不是等待内部方法调用【代码】

这个问题已经在这里有了答案: > At the end of an async method, should I return or await? 2个我看到一些同事代码,他选择不等待数据库调用而只返回Task.例如.public Task<UpdateResult> AddActivityAsync(ClaimsPrincipal principal, Activity activity) {return _userManager.SaveToDatabaseAsync(principal, activity); }由于_userManager.SaveToDatabaseAsync是异...

c#-如何为出现在任务栏中的应用程序的缩略图重新排序?【代码】

假设您在一个应用程序中有多个窗口,并且所有窗口都设置为显示在任务栏中.将鼠标悬停在应用程序的图标上会生成一组缩略图,每个窗口一个.如果有足够的窗口,则Windows 7将按名称将其切换到高大的可滚动窗口列表. 我想以编程方式重新排序此“缩略图”列表,因为有一个特定的窗口我想从列表顶部排第二.我怎样才能做到这一点? 请注意,我无法更改窗口的创建顺序(这是一种解决方案,但不幸的是,我无法利用之一).解决方法:好吧,事实证明这很简...

C#-中止任务,其中包含永无休止的库方法(无法检查取消请求)【代码】

我使用Pcap.Net进行流量监控,我需要它来接收数据包,直到用户请求取消为止.我以这种方式(简化)创建监视任务:var task1 = Task.Run(() => { communicator.ReceivePackets(0, PacketHandlerCallback); } /*, token*/);这里的0表示ReceivePackets的执行永无止境,PacketHandlerCallback是一种将针对每个接收到的数据包执行的方法. ReceivePackets是同步的,不支持取消.通常,在我的问题中,它可能是我们无法编辑的任何其他无限同步方法. 问...

c#-通过Graph API从Microsoft Planner任务中检索附件

我目前正在使用Microsoft Graph与PLanner进行交互,并且试图建立一个程序以能够完全读取有关组,计划,存储桶和任务的所有数据. 该API具有强大的功能,到目前为止,我可以阅读所有内容(甚至每个单独的注释),但是从我的一生来看,我似乎找不到找到读取任务附件的方法! API文档似乎也没有表明任务和附件之间有任何关系,这意味着在Planner上甚至不应该有附件. 计划者任务对象文档:https://developer.microsoft.com/en-us/graph/docs/api-r...

c#-等待两个“用户输入”任务之一完成,中止另一个【代码】

基本上,我需要等待两个输入. >从指纹传感器接收指纹以进行身份??验证>接收用于取消指纹认证的用户密钥输入 这是我的函数,仅使用第一个输入,其中应包含两个输入:public static bool Identify(out FingerId identity) {bool interrupted = false; // should be changed if user entered key and not fingerConsole.Write("Enter any key to cancel. ");// Should run along with "Console.ReadKey()"FingerBio.Identify(_session, o...

C#-单实例并在系统任务栏中通知

我正在开发应用程序(C#2.0).我已经实现了单个实例.一切顺利.如果我再次运行该应用程序,它将显示消息框,显示“实例已在运行”. 实际上,我不想通过消息框显示消息. 我想使用已运行实例的气球提示显示此消息(它在系统任务栏中具有通知图标). 我怎样才能做到这一点? 提前致谢.解决方法:您需要使用interprocess communication的形式来通知另一个实例它应该显示消息框. 在这种情况下,您可以比告诉现有实例显示消息更好,而不是告诉它还原...