草庐IT

多任务

全部标签

c# - 如何在超时后取消任务等待

我正在使用此方法以编程方式实例化网络浏览器,导航到url并在文档完成时返回结果。如果文档加载时间超过5秒,我将如何停止Task并让GetFinalUrl()返回null?我见过许多使用TaskFactory的示例,但我无法将其应用到这段代码中。privateUriGetFinalUrl(PortalMerchantportalMerchant){SetBrowserFeatureControl();UrifinalUri=null;if(string.IsNullOrEmpty(portalMerchant.Url)){returnnull;}UritrackingUrl=newUri

c# - 在 WPF 应用程序中在后台执行任务

例子privatevoidStart(objectsender,RoutedEventArgse){intprogress=0;for(;;){System.Threading.Thread.Sleep(1);progress++;Logger.Info(progress);}}如果我想让Start()进行操作,推荐的方法是什么(TAP或TPL或BackgroundWorker或Dispatcher或其他)不阻塞UI线程提供进度报告可取消支持多线程 最佳答案 对于.NET4.5(或.NET4.0+Microsoft.Bcl.Asyn

c# - 任务失败,因为找不到 AL.exe,

编译项目时出现以下错误:Taskfailedbecause"AL.exe"wasnotfound,orthecorrectMicrosoftWindowsSDKisnotinstalled.Thetaskislookingfor"AL.exe"inthe"bin"subdirectorybeneaththelocationspecifiedintheInstallationFoldervalueoftheregistrykeyHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDKs\Windows\v6.0A.Youmaybeabletos

c# - NSubstitute - 模拟在返回任务的方法中抛出异常

使用NSubstitute,如何模拟在返回任务的方法中抛出的异常?假设我们的方法签名看起来像这样:Task>GetAllAsync();下面是NSubstitute文档如何模拟非void返回类型的抛出异常。但这不编译:(myService.GetAllAsync().Returns(x=>{thrownewException();});那么你是如何做到这一点的呢? 最佳答案 实际上,接受的答案模拟了一个被抛出的同步异常,这不是真正的async行为。正确的mock方式是:varmyService=Substitute.For();my

c# - 在任务异常的情况下,根据用户输入多次重试任务

我的应用程序中的所有服务调用都是作为任务实现的。当任务出现故障时,我需要向用户显示一个对话框以重试上次失败的操作。如果用户选择重试,程序应该重试该任务,否则程序的执行应该在记录异常后继续。任何人都对如何实现此功能有一个高层次的想法? 最佳答案 2017年5月更新C#6异常过滤器使catch子句更加简单:privatestaticasyncTaskRetry(Funcfunc,intretryCount){while(true){try{varresult=awaitTask.Run(func);returnresult;}catch

c# - 隐藏另一个应用程序的任务栏按钮

我希望能够从任务栏中隐藏另一个应用程序的窗口,而不隐藏窗口本身。具体来说,我想要运行多个不同的Web浏览器,这些浏览器在Alt+Tab列表中可见且可用,但不占用任务栏上的空间。(如果有人好奇原因:我编写了一个仪表板应用程序,它使用Vista的DwmRegisterThumbnailAPI来同时显示多个窗口的实时预览——如果您愿意的话,这是一种“画中画”。在这一点上,还有为这些窗口设置任务栏按钮似乎是多余的。)我知道更改其他窗口的样式以包含WS_EX_TOOLWINDOW会将其从任务栏中隐藏,我首先尝试了这个。但是,正如预期的那样,它产生了一些我不想要的副作用:标题栏变短了(我猜并非全是

c# - 创建者更新后无法注册 GattCharacteristicNotificationTrigger 后台任务

后台任务注册代码如下:varbuilder=newBackgroundTaskBuilder();builder.Name=name;builder.TaskEntryPoint=typeof(BackgroundTaskClass).FullName;vartrigger=newGattCharacteristicNotificationTrigger(characteristic);builder.SetTrigger(trigger);btr=builder.Register();list中的条目是:Register()方法触发此错误:Accessisdenied.YourApp

c# - 异步任务与异步无效

这可能是一个非常愚蠢的问题,但我有以下代码行可以将RAW图像转换为BitmapImages:publicasyncvoidCreateImageThumbnails(stringimagePath,intimgId){awaitTask.Run(()=>controlCollection.Where(x=>x.ImageId==imgId).FirstOrDefault().ImageSource=ThumbnailCreator.CreateThumbnail(imagePath));}调用此方法CreateThumbnail()publicstaticBitmapImageCrea

c# - Windows 任务计划程序或 WebApi 中的 TaskService 函数

我想在ASP.NETWebAPI中创建一些函数,这些函数应该每天在特定时间执行并执行特定任务,如更新状态/记录/生成电子邮件、SMS。我应该在代码中创建一个TaskServiceusingSystem;usingMicrosoft.Win32.TaskScheduler;classProgram{staticvoidMain(string[]args){//Gettheserviceonthelocalmachineusing(TaskServicets=newTaskService()){//CreateanewtaskdefinitionandassignpropertiesTas

c# - 如何在开机时启动后台任务 - Windows 应用商店应用

我的平板电脑运行Windows8.1专业版。它有一个后台任务,每15分钟由时间触发器触发一次。它有效,很公平。问题是我需要在我的设备每次启动(启动应用程序)时自动启动我的后台任务。我用这个代码注册了我的背景:builder.Name="bikePositionUpdate";builder.TaskEntryPoint="BackgroundTaskGps.BikeGPSPositionUpdateBackgroundTask";builder.SetTrigger(newTimeTrigger(15,false));////addingconditionSystemCondition