Я настроил свою зависимость единства таким образом:Политика Injection ExceptionCallHandler не срабатывает обработчик
<register type="IFeedController" mapTo="RaF.Controllers.FeedController, Raf">
<interceptor type="VirtualMethodInterceptor"></interceptor>
<interceptionBehavior type="Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior, Microsoft.Practices.Unity.Interception" />
</register>
Я установки менеджера исключений следующим образом:
public class ApplicationExceptionManager : IApplicationExceptionManager
{
private Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionManager _exceptionManager;
/// <summary>
/// Gets EntLibs Exception Manager instance
/// </summary>
public ExceptionManager ExceptionManager
{
get { return _exceptionManager; }
}
public ApplicationExceptionManager()
{
var exceptionHandlingPolicies = new List<ExceptionPolicyDefinition>();
var azureExceptionPolicies = ExceptionPolicies.AzureExceptionPolicies;
var systemExceptionPolicies = ExceptionPolicies.SystemExceptionPolicies;
var webAppExceptionPolicies = ExceptionPolicies.WebAppExceptionPolicies;
exceptionHandlingPolicies.Add(new ExceptionPolicyDefinition(ExceptionPolicies.AzureExceptionPolicy, azureExceptionPolicies));
exceptionHandlingPolicies.Add(new ExceptionPolicyDefinition(ExceptionPolicies.SystemExceptionPolicy, systemExceptionPolicies));
exceptionHandlingPolicies.Add(new ExceptionPolicyDefinition(ExceptionPolicies.WebAppExceptionPolicy, webAppExceptionPolicies));
_exceptionManager = new Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionManager(exceptionHandlingPolicies);
}
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.ExceptionManager IApplicationExceptionManager.ExceptionManager
{
get { return _exceptionManager; }
}
}
Тогда я установить менеджер исключений с помощью :
ExceptionManager manager = new ApplicationExceptionManager().ExceptionManager;
ExceptionPolicy.SetExceptionManager(manager, true);
Который затем позволит мне использовать ExceptionCallHandlerAttribute
на мой контроллер и зависимостей.
К сожалению, объявленные хендлеры никогда не стреляют, и я потерялся, когда все пошло не так. Это простой проект контроллера ASP.NET MVC WebApi с Unity в качестве Dependency Resolver.
Что следует проверить? Я что-то пропустил?