Canceling db transaction on WebAPI exceptions

Fixes #6868
This commit is contained in:
Another Developer
2016-05-19 15:16:08 -04:00
committed by Sébastien Ros
parent 85f0794cf8
commit 82a827cd51

View File

@@ -1,4 +1,4 @@
using System.Data;
using System.Data;
using System.Web.Mvc;
using NHibernate;
using Orchard.Mvc.Filters;
@@ -24,4 +24,16 @@ namespace Orchard.Data {
_transactionManager.Cancel();
}
}
public class WebApiTransactionFilter : System.Web.Http.Filters.ExceptionFilterAttribute, WebApi.Filters.IApiFilterProvider {
private readonly ITransactionManager _transactionManager;
public WebApiTransactionFilter(ITransactionManager transactionManager) {
_transactionManager = transactionManager;
}
public override void OnException(System.Web.Http.Filters.HttpActionExecutedContext actionExecutedContext) {
_transactionManager.Cancel();
}
}
}