草庐IT

task_count

全部标签

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# - dot net 是否有像 IEnumerable 这样带有 Count 属性的接口(interface)?

dotnet是否有像IEnumerable这样带有计数属性的接口(interface)?我知道IList和ICollection等接口(interface)确实提供了Count属性,但似乎这些接口(interface)首先是为可变数据结构设计的,用作只读接口(interface)似乎是事后才想到的——存在IsReadOnly字段和mutators抛出异常当此属性为真时,IMO对此提供了充分的证据。目前我正在使用一个名为IReadOnlyCollection的自定义接口(interface)(请参阅我自己对这篇文章的回答),但我很高兴知道其他替代方法。 最佳答

c# - 返回 Task<string> 的方法

我需要一个返回Task的方法空字符串如publicstaticTaskAsyncTest(){returnnewTask(()=>string.Empty);//problemhere//thismethodwouldwork://returnnewWebClient().DownloadStringTaskAsync(@"http://www.google.de");}publicstaticvoidWorkdl(stringinput){Console.Write("OUT:"+input.Substring(0,100));}这段代码可以编译,但是当我这样调用它时TaskdlTa

c# - 起订量参数 TargetParameterCountException : Parameter count mismatch Exception

以下是我的通用基础存储库界面publicinterfaceIRepository{IQueryableAllIncluding(paramsExpression>[]includeProperties);}我的实体publicclassSdk{publicSdk(){this.Identifier=Guid.NewGuid().ToString();}publicvirtualICollectionAccessibleResources{get;set;}publicstringIdentifier{get;set;}}下面是具体的repopublicinterfaceISdkRepo

c# - 构建 : error MSB4062 Microsoft. Build.Tasks.ResolveComReference 时出现 .NET Core 错误

我正在开发.net核心网络应用程序(针对net461)。该应用需要引用COMdll。我添加了COM引用,应用程序仍然在我的开发机器上构建。但是,在构建服务器上它无法构建并出现此错误:C:\ProgramFiles(x86)\dotnet\sdk\2.0.0\Microsoft.Common.CurrentVersion.targets(2604,5):错误MSB4062:“Microsoft.Build.Tasks.ResolveComReference”任务无法从程序集Microsoft.Build.Tasks.Core加载经过一番搜索,这似乎是一个非常不常见的错误。任何人都知道错误

c# - Task.ContinueWith 是否捕获调用线程上下文以继续?

下面的Test_Click是在UI线程上运行的代码的简化版本(带有WindowsFormsSynchronizationContext):voidTest_Click(objectsender,EventArgse){vartask=DoNavigationAsync();task.ContinueWith((t)=>{MessageBox.Show("Navigationdone!");},TaskScheduler.FromCurrentSynchronizationContext());}我是否应该显式指定TaskScheduler.FromCurrentSynchronizat

c# - 带有未捕获异常的 Task.Factory.StartNew 会杀死 w3wp?

我刚刚将我网站的一些代码从使用QueueUserWorkItem转换为Task.Factory.StartNew我有一些错误的代码引发了异常并最终关闭了w3wp。在WindowsServer2008R2、x64上运行IIS7.5Task.Factory.StartNew(()=>{MethodThatThrowsException();}Application:w3wp.exeFrameworkVersion:v4.0.30319Description:Theprocesswasterminatedduetoanunhandledexception.ExceptionInfo:Syst

c# - 使用 Task.Run() 写入控制台失败

我的一位同事发现我们的代码存在问题,花了一段时间才查明到底发生了什么,但这个简单的例子可以最好地证明这一点://FailsclassProgram{staticvoidMain(string[]args){Task.Run(()=>Console.WriteLine("HelloWorld"));Console.ReadKey();}}//WorksfineclassProgram{staticvoidMain(string[]args){Console.Write(String.Empty);Task.Run(()=>Console.WriteLine("HelloWorld"));

c# - 如何将 task.Wait(CancellationToken) 转换为 await 语句?

因此,task.Wait()可以转化为awaittask。当然,语义是不同的,但这大致就是我将使用Waits的阻塞代码转换为使用awaits的异步代码的方式。我的问题是如何将task.Wait(CancellationToken)转换为相应的await语句? 最佳答案 await用于异步方法/委托(delegate),它们要么接受CancellationToken,因此您应该在调用它时传递一个(即awaitTask.Delay(1000,cancellationToken)),或者它们没有并且不能真正被取消(例如等待I/O结果)。但

c# - 什么时候应该以 TaskScheduler.Current 作为参数调用 Task.ContinueWith?

我们正在使用thiscodesnippet从StackOverflow生成一个任务,该任务在任务集合中的第一个任务成功完成后立即完成。由于其执行的非线性特性,async/await并不是真正可行的,因此此代码改用ContinueWith()。不过,它没有指定TaskScheduler,它是numberofsources已经提到可能是危险的,因为它使用TaskScheduler.Current而大多数开发人员通常期望来自延续的TaskScheduler.Default行为。普遍的看法似乎是您应该始终将显式的TaskScheduler传递给ContinueWith。但是,我还没有看到关于何