asp.net mvc - WebApi Action filter called twice -
my webapi filter method onactionexecuted being called twice. filter (i make simple possible):
public class nhibernateactionfilter : actionfilterattribute { // [inject] // public isessionfactoryprovider sessionfactoryprovider { get; set; } public override void onactionexecuted(httpactionexecutedcontext actionexecutedcontext) { var = 5; var b = a; //new basesessionprovider(sessionfactoryprovider).endcontextsession(); } } my setup:
protected void application_start() { arearegistration.registerallareas(); webapiconfig.register(globalconfiguration.configuration); //http://stackoverflow.com/questions/9521040/how-to-add-global-asp-net-web-api-filters filterconfig.registerwebapifilters(globalconfiguration.configuration.filters); } public class filterconfig { public static void registerwebapifilters(system.web.http.filters.httpfiltercollection filters) { filters.add(new nhibernateactionfilter()); } } in debugger catch onactionexecuted twice same actionexecutedcontext. why?
upd
controller public class banksmscontroller : apicontroller { [acceptverbs(httpverbs.get)] public int gettest() { return 1; } }
i have suspicion, strange behavior can fixed either overriding allowmultiple property of filter , returning false, or applying attributeusage attribute allowmultiple set false (this influences on default implementation of allowmultiple property of filter.
at least in our project helped (we have filters injected via autofac).
Comments
Post a Comment