草庐IT

dispatch_group_async

全部标签

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

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

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

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

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# - 什么是 async 和 await,什么时候在 Windows 开发中使用它们?

我一直看到Silverlight中使用的关键字async但想知道是否有人对它是什么以及何时使用它及其好处有一个假人的解释。如果您能解释一下,将不胜感激。谢谢。 最佳答案 从myintroductoryarticleinMSDNmagazine开始。然后阅读thepapersontheasyncCTPsite。然后阅读thesefifteenarticles:。如果您仍然有疑问,请尝试在theasyncforum上提问。 关于c#-什么是async和await,什么时候在Windows开发

c# - 根据调度程序将 async-await C# 代码转换为 F#

我想知道这是否是一个过于宽泛的问题,但最近我让自己遇到了一段代码,我想确定如何从C#转换为正确的F#。旅程从here(1)开始(TPL-F#交互的原始问题),并继续here(2)(我正在考虑将一些示例代码转换为F#)。示例代码太长,这里无法重现,但有趣的功能是ActivateAsync,RefreshHubs和AddHub.特别有趣的地方是AddHub签名为privateasyncTaskAddHub(stringaddress).RefreshHubs电话AddHub在循环中收集tasks的列表,然后它在最后等待awaitTask.WhenAll(tasks)因此返回值匹配其签名pr

c# - 了解 WPF Dispatcher.BeginInvoke

我的印象是dispatcher会遵循优先级排队的操作并根据优先级执行操作或将操作添加到队列的顺序(如果优先级相同)直到我被告知WPFUI调度程序不是这种情况。有人告诉我,如果UI线程上的操作需要更长的持续时间,比如数据库读取UI调度程序简单地尝试执行队列中的下一组操作。我无法接受它,所以决定编写一个示例WPF应用程序,其中包含一个按钮和三个矩形,单击按钮时,矩形会填充不同的颜色。在代码隐藏中privatevoidOnFillColorsClick(objectsender,RoutedEventArgse){vardispatcher=Application.Current.MainW

c# - 使用 await-async 的最佳实践,从哪里开始任务?

我开始在我们的.NetWPF应用程序中使用await/async机制。在我的ViewModel中,我在服务上调用异步方法。我的问题是:是不是比较好直接在这个服务里面做一个大的returnawaitTask.Run(()=>{...});此服务上的所有子方法是否也是异步的,然后在其中有Task.Run?举例:1)publicclassService:IService{publicasyncTask(SomeParameterparameter){returnawaitTask.Run(()=>{CopyStuff(parameter.A);UpgradeStuff(parameter.B

c# - Resharper 可以跳过 async/await 关键字吗?

我正在尝试了解新的C#5.0异步(CTP)功能如何工作。我也使用ReSharper。但是因为它只是一个CTP,ReSharperdoesn'tsupport新关键字(async/await)并将它们突出显示为错误。这是它的样子(来自CTP样本的代码)是否可以让ReSharper暂时跳过这些词?更新我试过抢先体验计划ReSharperbuild6.0.2151.53(2011年5月10日),但没有成功。问题仍然存在,所以如果您希望它得到解决,请投票here(在彼得的回答之后)。 最佳答案 Async是一种新的语言语法,尚未成为RTM,

c# - 如何使用 async/await OnNext/OnError/OnCompleted 方法实现 IObserver?

我正在尝试为System.Net.WebSocket编写一个扩展方法,使用ReactiveExtensions(Rx.NET)将它变成一个IObserver。你可以看到下面的代码:publicstaticIObserverToObserver(thisWebSocketwebSocket,IWebSocketMessageSerializerwebSocketMessageSerializer){//Wrapthewebsocketinaninterfacethat'salittleeasiertomanagevarwebSocketMessageStream=newWebSocket

c# - 如何使用 async 和 await 正确处理

我正在尝试将代码从Thread替换为Task。sleep/延迟仅代表长时间运行的事件。staticvoidMain(string[]args){ThreadDoWork();TaskDoWork();}publicstaticvoidThreadDoWork(){using(vardispose=newThreadDispose()){dispose.RunAsync();}}publicstaticasyncvoidTaskDoWork(){using(vardispose=newTaskDispose()){awaitdispose.RunAsync();}}publicclass