96得票4回答
在try/catch/finally中等待的良好解决方案是什么?

我需要在 catch 块中调用一个 async 方法,然后再像这样重新抛出异常(带有其堆栈跟踪):try { // Do something } catch { // <- Clean things here with async methods throw; }...

39得票2回答
将异步 lambda 表达式转换为委托类型 System.Func<T>?

我在可移植类库中有一个异步方法,其签名如下: private async Task&lt;T&gt; _Fetch&lt;T&gt;(Uri uri) 它获取一个资源,并将其转换为具体类型T。 我正在使用第三方缓存库(Akavache),其中一个参数需要Func&lt;T&gt;,我...

198得票4回答
为什么在调用EndAwait之前生成的代码中将内部“状态”设置为0?(C# 5异步CTP)

昨天我做了一场关于新的C#“async”功能的讲座,特别是深入研究生成的代码以及GetAwaiter()/ BeginAwait() / EndAwait()调用。 我们详细研究了由C# 编译器生成的状态机,并有两个方面我们无法理解: 为什么生成的类包含一个Dispose()方法和一个$...

59得票2回答
异步/等待的架构设计

如果您在架构的较低级别使用async/await,是否有必要将async/await调用"冒泡"到最高层,这样做效率是否低下,因为您基本上为每个层创建了一个新线程(为每个层异步地调用异步函数),或者它并不重要,只是取决于您的喜好? 我正在使用EF 6.0-alpha3,以便可以在EF中使用异...

13得票4回答
为什么C#的Caller Info属性需要一个默认值?

我刚刚发现了C# 5的Caller Info Attributes(http://msdn.microsoft.com/en-us/library/hh534540.aspx),这似乎是一个非常有用的功能。我已经阅读了一些文档 (http://www.codeproject.com/Tips/...

77得票5回答
使用async的“Fire-and-forget”与“旧异步委托”的区别

我正在尝试使用一种新的语法来替换我的旧的"fire-and-forget"调用,希望能够更简单易懂,但似乎一直不成功。以下是一个例子:class Program { static void DoIt(string entry) { Console.Write...

10得票1回答
ASP.NET MVC 5异步上下文管理

我有一个相当标准的MVC 5应用程序,包括存储库层、服务层和控制器层。为了使每个层次保持解耦且易于测试,我使用Ninject进行依赖注入。 为了提高新技能,我决定利用新的Task控制器操作,在服务和控制器方法中使用异步/等待IO绑定操作。 通常,我只使用InRequestScope绑定,如...

18得票1回答
接口实现和可选参数

考虑这个界面:interface ILogger { void Store(string payload); } 而这是ILogger的类实现:class Logger : ILogger { void Store(string payload, bool swallowExc...

115得票9回答
网站在asp.net中停止工作 System.Web.WebPages.Razor.Configuration.HostSection无法转换为...

在服务器上出现了如下问题: “System.Web.WebPages.Razor.Configuration.HostSection”无法转换为“System.Web.WebPages.Razor.Configuration.HostSection”。类型“A”来源于“System.Web....

94得票2回答
将基于回调的异步方法转换为可等待任务的最佳方式

如何将使用回调函数的“传统”异步方法转换/包装为返回(可等待的)任务的最佳方法? 例如,给定以下方法: public void GetStringFromUrl(string url, Action&lt;string&gt; onCompleted); 我所知道的将此内容封装成返回任...