【发布时间】:2015-07-02 09:58:30
【问题描述】:
我已经为 Elmah.WebApi 和 elmah.Mvc 安装了 nuget 包,它发现了我的很多错误。但是我有一个并行的 foreach 循环,它抛出一个错误并且没有被 elmah 捕获/记录。
我假设 nuget 包将实现此处指定的类和接口:http://www.asp.net/web-api/overview/error-handling/web-api-global-error-handling
是否需要应用额外的过滤器来捕获不同线程中发生的错误?我猜在使用 async/await 时也是如此?
这是我的代码:
Parallel.ForEach(serviceHeaders, new ParallelOptions() { MaxDegreeOfParallelism = 8 }, patientGroup =>
{
...
}
【问题讨论】:
-
返回后好像出现异常。你如何运行你的“并行循环”?它是使用
await还是在线程池中排队?如果你排队,Elmah 不会抓住它。 -
嗨,benjamin,我已经添加了运行并行循环的方式。我认为错误会通过调用方法等重新冒泡并被 elmah 捕获。不是这样吗?
标签: c# asp.net-web-api2 elmah elmah.mvc