asp.net-mvc-3 – 如何使用ASP.net MVC的AsyncController处理异常?
发布时间:2020-05-24 14:57:57 所属栏目:asp.Net 来源:互联网
导读:我有这个…… public void FooAsync() { AsyncManager.OutstandingOperations.Increment(); Task.Factory.StartNew(() = { try { doSomething.Sta
|
我有这个…… 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]属性才能完成它的工作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在razorview中显示checkboxfor的文本
- ASP.NET MVC – 如何抛出与StackOverflow类似的404页面
- ASP.NET拒绝访问该路径
- 密码保护IIS 7.5中的ASP.NET Web应用程序
- asp.net-mvc – 通知面板类似于stackoverflow的
- asp.net-mvc – ASP.NET MVC Beta 1:DefaultModelBinder错
- asp.net-mvc-4 – ASP.NET MVC 4应用程序捆绑和分类,为什么
- 如何在ASP.NET修复的oracle填充攻击?
- ASP.NET web.config中数据库连接字符串connectionStrings节
- 处理ASP.NET MVC中的异步请求
推荐文章
站长推荐
- asp.net – 如何使用JQuery与母版页?
- asp.net-mvc – 如何在ASP.NET MVC控制器中访问H
- .net – SqlBulkCopy超时
- asp.net-core – asp.net核心依赖注入问题 – Ad
- asp.net-mvc – 在asp .net mvc 5中显示外部网页
- asp.net-mvc – FormsAuthentication.RedirectFr
- asp.net-mvc – MVC4 SimpleMemberhip’提供商遇
- asp.net-mvc – 在REST Web API调用中返回复杂对
- asp.net – 控制器SessionStateBehavior是ReadOn
- asp.net-mvc – ASP.NET MVC SiteMap提供程序 –
热点阅读
