asp.net-mvc-3 – 如何使用ASP.net MVC的AsyncController处理异
发布时间:2020-12-16 04:08:53 所属栏目:asp.Net 来源:网络整理
导读:我有这个…… public void FooAsync() { AsyncManager.OutstandingOperations.Increment(); Task.Factory.StartNew(() = { try { doSomething.Start(); } catch (Exception e) { AsyncManager.Parameters["exc"] = e; } finally { AsyncManager.OutstandingO
我有这个……
public void FooAsync() { AsyncManager.OutstandingOperations.Increment(); Task.Factory.StartNew(() => { try { doSomething.Start(); } catch (Exception e) { AsyncManager.Parameters["exc"] = e; } finally { AsyncManager.OutstandingOperations.Decrement(); } }); } public ActionResult FooCompleted(Exception exc) { if (exc != null) { throw exc; } return View(); } 有没有更好的方法将异常传递回ASP.net? 干杯,伊恩. 解决方法
任务将为您捕获例外情况.如果调用task.Wait(),它将在AggregateException中包装任何捕获的异常并抛出它.
[HandleError] public void FooAsync() { AsyncManager.OutstandingOperations.Increment(); AsyncManager.Parameters["task"] = Task.Factory.StartNew(() => { try { DoSomething(); } // no "catch" block. "Task" takes care of this for us. finally { AsyncManager.OutstandingOperations.Decrement(); } }); } public ActionResult FooCompleted(Task task) { // Exception will be re-thrown here... task.Wait(); return View(); } 简单地添加[HandleError]属性是不够的.由于异常发生在不同的线程中,我们必须将异常返回到ASP.NET线程,以便对它执行任何操作.只有在我们从正确的位置抛出异常之后,[HandleError]属性才能完成它的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 身份验证 – 如何仅为ASP.NET 5中的受保护操作添加令牌验证
- asp.net-mvc – 朋友列表与chatjs.net SignalR MVC聊天
- asp.net媒体保护
- asp.net – UpdatePanel没有名为’TextBox’的公共属性.
- asp.net – 如何使用master从asp:content页面访问母版页上
- asp.net – 使用/ signalr / ping调用时使用长轮询
- asp.net-mvc – requestValidationMode =“2.0”实际上是做
- asp.net – 将Framework 4.5中的MVC项目降级为4.0
- asp.net – 在Windows身份验证开启时使用ajax调用Web服务?
- ASP.NET,C#,IIS,MIME类型,文件上传条件
推荐文章
站长推荐
- asp.net – 使用jquery调用webmethod时始终获得“
- asp.net-mvc – 如何从ASP.NET MVC中的JSONResul
- asp.net-mvc – 删除Id MVC 5
- ActiveDirectory ASP.NET中的当前用户名
- 在Asp.Net中启用Secure中的HTTPOnly
- asp.net-ajax – 找不到带ID的UpdatePanel
- asp.net-mvc – 在asp.net mvc中使用Checkbox提交
- asp.net mvc – asp.net mvc decorate [Authoriz
- asp.net-mvc – 如何在MVC 3中基于XML文件动态创
- asp.net-mvc-3 – 为什么Ninject不会解析基类中的
热点阅读