草庐IT

Auto-Job任务调度框架

全部标签

c# - .NET 4.5 中未观察到的任务异常仍然会导致应用程序崩溃

在StevenToub'sarticle:TomakeiteasierfordeveloperstowriteasynchronouscodebasedonTasks,.NET4.5changesthedefaultexceptionbehaviorforunobservedexceptions.WhileunobservedexceptionswillstillcausetheUnobservedTaskExceptioneventtoberaised(notdoingsowouldbeabreakingchange),theprocesswillnotcrashbydefault.

c# - 等到单元测试中的所有任务完成

我有这个类我想进行单元测试:publicclassSomeClass{publicvoidFoo(){Bar();}privatevoidBar(){Task.Factory.StartNew(()=>{//Dosomethingthattakessometime(e.g.anHTTPrequest)});}}这就是我的单元测试的样子:[TestMethod]publicvoidTestFoo(){//Arrangevarobj=newSomeClass();//Actobj.Foo();obj.Foo();obj.Foo();//Assert/*Ineedsomethingtowai

c# - 任务不包含 Run 方法的定义

我第一次尝试在我的代码中实现多线程。当我尝试使用TaskT=Task.Run(()=>{});VisualStudio仍然在Run()下划线声明“任务不包含定义‘运行’”我正在使用System.Threading.Tasks;互联网对这个问题一无所知 最佳答案 .NET4.0没有Task.Run方法。相反,您可以使用:任务T=Task.Factory.StartNew(()=>{});您可以了解更多关于here的信息 关于c#-任务不包含Run方法的定义,我们在StackOverflow

c# - 中继命令可以执行和任务

我想在调用中继命令时启动任务,但是只要该任务正在运行我就想禁用该按钮举个例子privateICommandupdate;publicICommandUpdate{get{if(update==null){update=newRelayCommand(param=>Task.Factory.StartNew(()=>StartUpdate()),param=>true);//truemeansthebuttonwillalwaysbeenabled}returnupdate;}}检查该任务是否正在运行的最佳方法是什么?这是我的解决方案,但不确定这是不是最好的方法classVm:Obser

c# - 如果我在未定义为任务的 IQueryable 上使用 await + ToListAsync() 是否正确

我正在使用带有EF-6的asp.netMVC-5,我不确定使用await+ToListAsync是否有效。例如,我有以下返回IQueryable的存储库方法:-publicIQueryablegetAllScanEmailTo(){returnt.TSets.Where(a=>a.Name.StartsWith("ScanEmail"));}我这样调用它:-varemailsTo=awaitrepository.getAllScanEmailTo().ToListAsync();一开始,我以为我会得到一个错误,因为我正在使用“等待”一个未定义为任务的方法,但上面的方法运行良好,所以有人

c# - 如何从 C# 中的异步任务 <bool> 函数获取 bool 结果 - 错误 : Cannot implicitly convert type `void' to `bool'

我已经创建了任务函数来验证我的json文件。一切正常,直到我没有使用结果。当我试图从asynctaskfunction获得结果时它显示错误为Cannotimplicitlyconvert'void'tobool.我的异步函数如下:privateasyncTaskMyValidationFunction(stringjson){boolisValid=true;.......DOINGMYVALIDATIONSTUFF.....returnisValid;}从另一个函数调用这个函数如下:publicboolGetJsonAndValidate(){boolisValid=true;str

c# - 错误 CS0051(不一致的可访问性 : parameter type 'Job' is less accessible than method 'AddJobs.TotalPay(Job)' )

我通过省略totalFee字段成功编译并运行了下面的源代码。如何将totalFee写入此程序,以便它准确计算每项工作的总费用(费率*时间)?下面,您会看到我尝试使用一种方法;这产生了错误CS0051(可访问性不一致:参数类型“Job”的可访问性低于方法“AddJobs.TotalPay(Job)”)。此源代码是对以下作业的响应:"DesignaJobclassforHarold’sHomeServices.Theclasscontainsfourdatafields—Jobdescription(forexample,“washwindows”),timeinhourstocomple

c# - UWP 从任务更新 UI

我有一个应用程序,它正在检查本地网络中的网络范围(用于运行http服务)。所以这意味着,我正在检查f.e.从10.0.0.1到10.0.0.255。问题来了,在PC上运行速度还可以,但是在Lumia950上运行速度就不够了。所以我想在扫描期间更新UI。下面是问题:此刻我有几项任务f.e.10-每个任务都在扫描他的范围。任务1-10.0.0.1到10.0.0.25等等-我应该使用10个任务还是有什么办法,.net将如何自行解决?性能如何,f.e.如果我将使用50个任务?第二个问题是,在扫描过程中,我会找到PC,Web服务正在其中运行,但是...找到PC后,我应该如何更新UI?目前我只能在

c# - 条件编译和框架目标

如果目标框架是较新的版本,我的项目的代码可能会在一些小地方得到显着改进。我希望能够更好地利用C#中的条件编译来根据需要切换它们。类似于:#ifNET40usingFooXX=Foo40;#elifNET35usingFooXX=Foo35;#elseNET20usingFooXX=Foo20;#endif这些符号中的任何一个都是免费的吗?我是否需要将这些符号作为项目配置的一部分注入(inject)?这似乎很容易做到,因为我会知道MSBuild的目标是哪个框架。/p:DefineConstants="NET40"人们如何处理这种情况?您要创建不同的配置吗?您是否通过命令行传递常量?

c# - .Net 框架 mscorpe.dll 错误

我有一台安装了Windows7Professional的客户端计算机。为了运行我最新的应用程序,我安装了.NetFramework4.0Full,从here下载.我的应用程序工作正常。不过,还有一个应用是用.Netframework3.5开发的。当我尝试执行该应用程序时,出现错误:C:\Windows\Microsoft.Net\Framework64\v2.0.50727\mscorepe.dlliseithernotdesignedtorunonWindowsoritcontainsanerror...我曾尝试删除.NetFramework4.0并再次重新安装,并尝试修复它,但似乎