jjzjj

progress

全部标签

c# - Lazy<T> 延迟加载错误 : A field initializer cannot reference the non-static field, 方法或属性

我第一次尝试使用延迟加载来初始化我的类中的进度对象。但是,我收到以下错误:Afieldinitializercannotreferencethenon-staticfield,method,orproperty.privateLazym_progress=newLazy(()=>{longtotalBytes=m_transferManager.TotalSize();returnnewProgress(totalBytes);});在.NET2.0中,我可以执行以下操作,但我更愿意使用更新的方法:privateProgressm_progress;privateProgressPro

c# - IProgress<T> 同步

我在C#中有以下内容publicstaticvoidMain(){varresult=Foo(newProgress(i=>Console.WriteLine("Progress:"+i)));Console.WriteLine("Result:"+result);Console.ReadLine();}staticintFoo(IProgressprogress){for(inti=0;iMain的一些输出是:第一次运行:Result:1001Progress:4Progress:6Progress:7Progress:8Progress:9Progress:3Progress:0P

c# - 如何在长时间的服务器进程中显示信息丰富的实时进度数据

我有一个很长的过程可能需要1小时。这个过程由许多步骤组成,年复一年。我的主要问题是:如何在此过程中向最终用户提供信息丰富的实时进度,而不仅仅是一个虚拟加载栏。intindex=Convert.ToInt32(e.CommandArgument);booldone=false;intres=-1;intfromVal=int.Parse(gv_balance.Rows[index].Cells[0].Text);inttoVal=int.Parse(gv_balance.Rows[index].Cells[1].Text);intfinMonth=1;intfinYear=0;intEn

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# - Progress<T> 没有报告功能

我有Windows窗体应用,这是我的代码:privateasyncvoidbtnGo_Click(objectsender,EventArgse){ProgresslabelVal=newProgress(a=>labelValue.Text=a);ProgressprogressPercentage=newProgress(b=>progressBar1.Value=b);//MakeActionAsync(labelVal,progressPercentage);awaitTask.Factory.StartNew(()=>MakeActionAsync(labelVal,prog

c# - 将 nullable double 设置为 null 有什么问题?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:Whycan'tIsetanullableinttonullinaternaryifstatement?Nullabletypesandtheternaryoperator.Whywon'tthiswork?下面有什么问题publicdouble?Progress{get;set;}Progress=null;//worksProgress=1;//worksProgress=(1==2)?0.0:null;//failsTypeofconditionalexpressioncannotbedetermin

c# - 上传HTTP进度跟踪

我有我正在编写的WPF应用程序,它可以将文件发布到社交网络之一。上传本身工作正常,但我想提供一些关于我上传进度的指示。我尝试了很多方法来做到这一点:1)HttpWebRequest.GetStream方法:using(varFS=File.Open(localFilePath,FileMode.Open,FileAccess.Read,FileShare.Read)){longlen=FS.Length;HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Method="POST";request.P

c# - 异步显示对话框

我正在使用async/await从数据库异步加载我的数据,在加载过程中,我想弹出一个加载表单,它只是一个带有运行进度条的简单表单,表明有一个正在运行的进程。加载数据后,对话框将自动关闭。我怎样才能做到这一点?以下是我当前的代码:protectedasyncvoidLoadData(){ProgressForm_progress=newProgressForm();_progress.ShowDialog()//notworkingvardata=awaitGetData();_progress.Close();}更新:我设法通过更改代码让它工作:protectedasyncvoidLo

c# - IProgress<T> 多久报告一次进度

使用IProgress时报告进度,应该是代码报告进度的责任是将其进度报告的频率限制在“合理”的范围内,-或-具体执行责任IProgress请注意,进度报告的频率可能高于其呈现此进度的合理方式。问题的上下文是我有一些使用IProgress的代码报告进度,并且它以非常高的速度报告进度。我想用UI进度条显示进度。如果我使用提供的Progress实现(将进度发布到UISyncronizationContext),然后它会导致UI无响应(即发送到消息队列的消息太多,用户甚至无法单击对话框上的“取消”按钮)。所以,我可以通过减少报告来解决这个问题,但是如果我有一个IProgress怎么办?只是将进

javascript - jQuery 延迟 : cancel progress

有没有办法取消正在进行的延迟回调队列?我有任意数量的ajax调用。当成功数据返回特定标记时,我想停止进一步的ajax请求:this.oDeferred=$.Deferred();this.oChain=this.oDeferred;for(vari=0;i顺便说一下,在所有ajax请求发出后,函数done()会自动触发。如何在所有ajax请求完成后执行一个函数?提前致谢! 最佳答案 答案是肯定的。有两种可能的方法。.然后().then()方法返回一个新的promise,其状态由传递给该方法的处理程序返回的内容决定。通过返回一个非pr