草庐IT

@Async失效情况

全部标签

c# - 为什么使用 async 并等待 Task<>?

如果我有一个普通的方法,我想使其异步:publicintFoo(){}我会这样做:publicTaskFooAsync(){returnTask.Run(()=>Foo());}我为什么要这样做:publicasyncTaskFooAsync(){returnawaitTask.Run(()=>Foo());}我打算使用它的方式是:FooAsync().ContinueWith((res)=>{});我希望该方法不间断地运行,但我希望触发回调之类的东西,因此ContinueWith。但是对于第二个版本,使用它有什么意义吗? 最佳答案

c# - 如何将 .net 4.5 Async/Await 示例转换回 4.0

等效的asp.netmvc4.0代码是什么样的?usingSystem.Net;usingSystem.Net.Http;usingSystem.Web.Mvc;usingSystem.Threading.Tasks;usingNewtonsoft.Json;namespaceWeb.Controllers{publicclassHomeController:Controller{privateHttpClienthttpClient=newHttpClient();privatestaticdynamicshots;publicasyncTaskIndex(){if(shots==n

c# - 从并发字典中获取所有值并在不丢失数据的情况下清除它

我正在向并发字典中添加/更新对象并定期(每分钟)刷新字典,所以我的代码看起来像这样:privatestaticConcurrentDictionary_metrics=newConcurrentDictionary();publicstaticvoidIncrementCountMetricBy(stringname,intcount){_metrics.AddOrUpdate(....}publicstaticMetric[]Flush(){varflushedMetrics=_metrics;_metrics=newConcurrentDictionary();returnflus

c# - 在 web 服务的情况下如何从 WSDL 生成代理类

假设当我只有wsdl文件时,我如何才能创建代理类来调用web服务的各种方法。webservice如何关联所有类及其属性和方法将在我的c#应用程序中公开。任何人都可以帮助指导我。谢谢 最佳答案 您需要使用ServiceModelMetadataUtilityTool,或VisualStudio的AddServiceReferenceDialog以便为您要与之通信的服务生成客户端代理。生成的代理将提供抽象服务契约的类,您可以对客户端应用程序进行编程以与这些类进行交互。 关于c#-在web服务

c# - 在viewmodel的构造函数中调用async方法加载数据有警告

我的View包含一个ListView,它显示来自互联网的一些数据,我创建了一个异步方法来加载数据并在我的View模型的构造函数中调用该方法。它有一个警告提示我现在使用await关键字。在构造函数中异步加载数据的任何其他解决方案? 最佳答案 有几个模式可以应用,所有这些都在StephanCleary的帖子中提到过。但是,让我提出一些不同的建议:由于您在WPF应用程序中,我会使用FrameworkElement.Loaded事件并将其绑定(bind)到ViewModel中的ICommand。有界命令将是AwaitableDelegate

c# - .NET 在没有外部依赖的情况下在 winform 中打开 PDF

是否有免费的库可以让我打开pdf并将其显示在winform项目中。我知道我可以在adobereader或其他软件中打开它,但它对我来说总是那么臃肿,我会依赖它的安装。有没有一个很好的轻量级替代方案,我可以在我的项目中包含一个dll或类似的避免外部依赖项。我不需要太多功能,只需查看、更改页面缩放..我看过一些库,但它们似乎是关于创建PDF而不是查看的。 最佳答案 我不确定您所说的“依赖性”是什么,因为除非您将整个PDF渲染源捆绑在您的项目中,否则您总是必须依赖一些外部代码来渲染PDF。有一些商业渲染器和极少数免费渲染器。如果您想避免无

c# - 如何在不显示表单的情况下打印 ReportViewer 的报告

虽然我意识到我可以只在屏幕外显示和隐藏表单,以及许多其他形式的WinFormshackishwizardry,但我宁愿坚持zen路径并正确完成它。我有一个SSRS本地报告(所以没有服务器),我想让用户选择查看或打印(换句话说,我不想强​​迫他们查看打印)。不幸的是,当我尝试将ReportViewer控件打印为我在代码中显式创建的组件(当然是在using()block内)或者如果我尝试实例化我的查看器表单和只是打印而不显示它。有没有一种适合我的方式来做到这一点,或者我应该在屏幕外展示它并继续我的生活? 最佳答案 我在我的博客上发布了一

c# - async 和 await 是否会提高 ASP.Net 应用程序的性能

我最近读了一篇关于c#-5和新的很好的异步编程特性的文章。我看到它在Windows应用程序中效果很好。我的问题是此功能是否可以提高ASP.Net性能?考虑这两个伪代码:publicTGetData(){vard=GetSomeData();returnd;}和publicasyncTGetData2(){vard=awaitGetSomeData();returnd;}在一个ASP.Net应用程序中,两个代码有区别吗?谢谢 最佳答案 首先,您的第二段代码将返回Task而不是T.最终的答案是“视情况而定”。如果您的页面需要访问多个数据

c# - 在什么情况下我会将操作指定为未选中?

例如:intvalue=Int32.MaxValue;unchecked{value+=1;}这在哪些方面会有用?你能想到吗? 最佳答案 在以下情况下使用unchecked:您想通过溢出来表达常量(这在指定位模式时很有用)你希望算术溢出而不导致错误后者在计算哈希码时很有用-例如,在NodaTime中该项目是用经过检查的算法构建的,用于除哈希代码生成之外的虚拟所有内容。在计算哈希码时,发生溢出是完全正常的,这很好,因为我们并不真正关心作为一个数字的结果——我们只是希望它作为一个位模式,真的。这只是一个特别常见的示例,但在其他情况下您可

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

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