草庐IT

子任务

全部标签

c# - 在等待 List<Task> 中的所有任务完成时显示进度

我目前正在尝试在一行的末尾连续打印点作为不确定进度的一种形式,同时运行大量任务,使用以下代码:start=DateTime.Now;Console.Write("*Processingvariables");TaskentireTask=Task.WhenAll(tasks);Taskprogress=newTask(()=>{while(!entireTask.IsCompleted){Console.Write(".");System.Threading.Thread.Sleep(1000);}});progress.Start();entireTask.Wait();timeDi

c# - 如何使程序不显示在 Alt-Tab 或任务栏中

我有一个程序需要在后台运行,当用户连接到RDPsession时,它会进行一些环境设置,然后启动一个程序。当程序关闭时,它会做一些内务处理并注销session。我目前的做法是让终端服务器启动这个应用程序。这是作为Windows窗体应用程序构建的,以防止控制台窗口显示:publicstaticvoidMain(){//(Snip...)DosomesetupworkProcessproc=newProcess();//(Snip...)Setuptheprocessproc.Start();proc.WaitForExit();//(Snip...)DosomehousecleaningN

c# - 我应该使用线程还是任务 - 多客户端模拟

我正在编写一个客户端模拟程序,其中所有模拟客户端都针对服务器运行一些预定义的例程-这是一个在Azure中运行的具有四个实例的Web服务器。所有模拟客户端在连接到服务器后运行相同的程序。任何时候我都想使用我的程序模拟300到800个客户端。我的问题是:我应该创建客户端类的N个实例并在N个不同的线程中运行它们吗?或者我应该使用任务库来做这些事情吗? 最佳答案 您当然不应该创建800个线程。让我们回到这里。您有一个称为“服务器”的设备,它接收来自“客户”的“请求”并将“响应”发送回这些客户。假设请求是邮局投递的纸片,响应是装书的盒子,也是

c# - 如何在 C# 中使用低级键盘钩子(Hook)来抑制任务切换键(winkey、alt-tab、alt-esc、ctrl-esc)

谁能告诉我如何使用C#禁用任务切换键 最佳答案 我有完整的代码来禁用Windows键,Alt+Tab等等..现在我提供以下代码供其他人引用:/*CodetoDisableWinKey,Alt+Tab,Ctrl+EscStartsHere*///Structurecontaininformationaboutlow-levelkeyboardinputevent[StructLayout(LayoutKind.Sequential)]privatestructKBDLLHOOKSTRUCT{publicKeyskey;publicin

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