草庐IT

Auto-Job任务调度框架

全部标签

c# - 异步任务<IEnumerable<T>> 抛出 "is not an iterator interface type"错误

仅当我使用async时,下面的代码才会抛出isnotaniteratorinterfacetypeawait并包装IEnumerable与任务。如果我删除asyncawait,它将与IEnumerable>一起使用.privateasyncTask>>GetTableDataAsync(CloudTablecloudTable,TableQuerytableQuery)whereT:ITableEntity,new(){TableContinuationTokencontineousToken=null;do{varcurrentSegment=awaitGetAzureTableDa

c# - 从任务回调到主线程

因为我不太了解线程,所以我有一个问题。我想在后台和后台方法中做一些事情,我想在某些情况下切换回主线程,否则在后台工作。我怎样才能实现这个功能?我正在使用从UI类(c#)调用StartSyncThreadasyncvoidStartSyncThread(){awaitDoSyncAsync();}TaskDoSyncAsync(){returnTask.Run(()=>DoSync());}在DoSync方法中,我想切换回主线程,以便我可以更改UI。请给我一个简单的解决方案来做到这一点。提前致谢! 最佳答案 首先启动您的异步进程,然后

c# - System.Windows.Forms.GroupBox 隐藏框架

在System.Windows.Forms.GroupBox上,有没有办法隐藏它周围的框架?我尝试更改FlatStyle,但这并没有达到我想要的效果。谢谢! 最佳答案 Panel可能是更好的选择,但如果您出于某种原因确实需要GroupBox,您可以修改代码here创建一个根本不绘制边框的子类。具体来说,您需要覆盖OnPaint方法。 关于c#-System.Windows.Forms.GroupBox隐藏框架,我们在StackOverflow上找到一个类似的问题:

c# - 启动长时间后台任务

用户在我的网站上请求一些页面。我想做什么?向用户发送快速答复并启动需要很长时间的后台任务。看起来像:publicActionResultindex(){vartask=newTask(Stuff);//starttaskasynctask.start();returnView();}publicvoidStuff(){//longtimeoperation}我该怎么做? 最佳答案 您可以向TaskStartNew()方法传递一个参数,指示您正在启动的任务是“长时间运行”的,这会提示任务计划程序在新线程上启动任务。vartask=Ta

c# - 将任务作为参数传递

我不确定这是否可行,所以我在这里:我有一系列Action可以执行多个asyncTaskMethodA(...){//somecode//acalltospecificAsyncIOboundmethod//somecode}还有MethodB()、MethodC()等,除了调用特定的AsyncIO绑定(bind)方法外,它们的代码完全相同.我正在尝试找到一种将任务指针传递给方法的方法,以便我们稍后可以在Method()中执行它。我目前正在做的是:privateasyncTaskMethod(Func>func){//somecodevara=awaittask.Run(func);//

c# - 隐藏在 c# 中的方法以及一个有效的例子。为什么在框架中实现?什么是现实世界的优势?

谁能用一个有效的例子来解释C#中方法隐藏的实际用法?如果方法是在派生类中使用new关键字定义的,那么它不能被覆盖。然后它与创建一个具有不同名称的新方法(除了基类中提到的方法)一样。是否有使用new关键字的特定原因? 最佳答案 我有时对new关键字的一个用途是在平行继承树中用于“穷人属性协方差”。考虑这个例子:publicinterfaceIDependency{}publicinterfaceConcreteDependency1:IDependency{}publicclassBase{protectedBase(IDepende

c# - C# 中的 Windows 8 任务管理器应用程序历史记录

我正在尝试从C#访问应用程序历史记录。我想提供与任务管理器中相同的信息,但找不到api/示例。当然,我实现了一个桌面应用程序。具体问题:我对CPU/RAM不感兴趣。我唯一想得到的就是时间。更新要准确显示我在说什么,请看这个屏幕: 最佳答案 没有支持的方法来获取此信息。对不起。 关于c#-C#中的Windows8任务管理器应用程序历史记录,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

c# - 从 iFrame 切换到父框架并使用 Selenium Webdriver 在父框架中查找元素。 C#

场景:-我有一个带有iFrame文本编辑器的页面,页面中还有一个按钮。-我从父框架切换到iFrame以从文本编辑器正文中读取-从文本编辑器的正文中读取后,我想单击页面父框架中的按钮。-为此,我尝试使用以下语句从iFrame切换回父框架:webDriver.SwitchTo().DefaultContent();-但我仍然无法找到驻留在父框架中的按钮元素。非常感谢您的帮助!谢谢 最佳答案 这就是你们的回应伙计们。解决了!解决方法:当我使用webDriver.SwitchTo().DefaultContent();时,它会将webDri

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