草庐IT

task_text

全部标签

c# - 等待 Task.Run 与等待

我在网上搜索过很多关于Task.Run和awaitasync的问题,但是有一个具体的使用场景我不太明白其中的区别。我相信场景非常简单。awaitTask.Run(()=>LongProcess());对比awaitLongProcess());LongProcess是一个异步方法,其中包含一些异步调用,例如使用awaitExecuteReaderAsync()调用db。问题:在这个场景下两者有什么区别吗?感谢任何帮助或输入,谢谢! 最佳答案 Task.Run可以将要处理的操作发布到不同的线程。这是唯一的区别。这可能有用-例如,如果L

c# - System.Text.Encoding.GetEncoding ("iso-8859-1") 抛出 PlatformNotSupportedException?

看题目,注意这个问题只适用于.NETcompact框架。这发生在WindowsMobile6ProfessionalSDK附带的模拟器以及我的英语HTCTouchPro(所有.NETCF3.5)上。iso-8859-1代表西欧(ISO),这可能是除us-ascii之外最重要的编码(至少在usenet帖子数量上是这样)。我很难理解为什么不支持这种编码,而支持以下编码(同样在模拟器和我的HTC上):iso-8859-2(中欧(ISO))iso-8859-3(拉丁语3(ISO))iso-8859-4(波罗的海(ISO))iso-8859-5(西里尔字母(ISO))iso-8859-7(希腊语

c# - await 和 async 与 Task 并行库的区别

任务并行库和await、async有什么区别。引入await和async的必要性是什么?我看到TPL是C#4.0的一部分,await/async是C#5.0的一部分,但除此之外,基本区别是什么。引入这个新关键字的必要性是什么? 最佳答案 任务并行库是为parallelprogramming设计的-当您有很多工作要做并且想在多个线程之间拆分这些工作以便您可以使用所有CPU内核时。TPL最适合CPU密集型工作。Async和await适用于asynchronousprogramming-当你有一个操作(或多个操作)将在未来完成,而你想同时

c# - 响应消息的内容类型 application/xml;charset=utf-8 与绑定(bind)的内容类型不匹配 (text/xml; charset=utf-8)

我尝试使用独立应用程序使用WCFWeb服务。我可以使用InternetExplorer查看此服务,也可以在VisualStudio服务引用中查看。这是我遇到的错误Thecontenttypetext/html;charset=UTF-8oftheresponsemessagedoesnotmatchthecontenttypeofthebinding(text/xml;charset=utf-8).如何更改它以使用正确的内容类型?这是我的配置文件这是堆栈{System.ServiceModel.ProtocolException:Thecontenttypeapplication/xm

c# - Task.Delay 永远不会完成

以下代码将永远卡住。publicasyncTaskDoSomethingAsync(){awaitTask.Delay(2000);}privatevoidButton_Click(objectsender,RoutedEventArgse){DoSomethingAsync().Wait();//Task.Delay(2000).Wait();}如果我将调用切换到带有注释掉的代码的DoSomethingAsync,它会按预期运行。我怀疑嵌套等待以某种方式导致了死锁,但我不确定原因或如何修复它。 最佳答案 假设Button_Clic

c# - 如何并行启动 List<Task>?

我有一个返回System.Threading.Tasks.Task的对象:publicclassMyClass{publicTaskGetTask(objectstate,CancellationTokencancellationToken){returnnewTask(Execute,state,cancellationToken);}publicvoidExecute(objectcontext){//dostuff}}在其他地方我有一个List,所以我执行以下操作以获得List:varmyTaskList=myClassList.Select(p=>p.GetTask(null,

c# - HTML 敏捷包 : create html text node

在HtmlAgilityPack中,我想创建HtmlTextNode,这是一个HtmlNode(继承自HtmlNode)具有自定义InnerText。HtmlTextNodeCreateHtmlTextNode(stringname,stringtext){HtmlDocumentdoc=newHtmlDocument();HtmlTextNodetextNode=doc.CreateTextNode(text);textNode.Name=name;returntextNode;}问题是textNode.OuterHtml和textNode.InnerHtml在上述方法之后将等于“文

c# - TaskCompletionSource 抛出 "An attempt was made to transition a task to a final state when it had already completed"

我想使用TaskCompletionSource来包装MyService这是一个简单的服务:publicstaticTaskProcessAsync(MyServiceservice,intparameter){vartcs=newTaskCompletionSource();//EverytimeProccessAsynciscalledthisassignstoCompleted!service.Completed+=(sender,e)=>{tcs.SetResult(e.Result);};service.RunAsync(parameter);returntcs.Task;}

c# - Task.Yield() 与 Task.Delay(0)

Delay(0)是否总是内联?根据我的经验,它确实:usingSystem;usingSystem.Threading;usingSystem.Threading.Tasks;namespaceConsoleApplication{classProgram{staticasyncTaskTest(){awaitTask.Yield();Console.WriteLine("afterYield(),thread:{0}",Thread.CurrentThread.ManagedThreadId);awaitTask.Delay(0);Console.WriteLine("afterDe

c# - Task.WaitAll 不等待任务完成

在尝试弄清楚C#中的新(现在可能不是那么新,但对我来说还是新的)Task异步编程时,我遇到了一个问题,我花了一些时间才弄明白,我不确定为什么。我已经解决了这个问题,但我仍然不确定为什么它是一个问题。我只是想我会分享我的经验,以防有人遇到同样的情况。如果有任何专家愿意告诉我问题的原因,那将是非常好的,我们将不胜感激。我总是喜欢知道为什么某些东西不起作用!我做了一个测试任务,如下:Randomrng=newRandom((int)DateTime.UtcNow.Ticks);intdelay=rng.Next(1500,15000);Task>testTask=Task.Factory.S