Sto provando a fare alcune cose dopo che il mio controller ha terminato l'azione su OnActionExecuted. Tuttavia, il metodo viene chiamato due volte.OnActionExecuted chiamato due volte nell'API Web
Il mio metodo filtro
public class TestFilter: ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
//do stuff here
}
}
e il mio controller
[TestFilter]
public class BaseController : ApiController
{
public LoginResponseDTO Login(LoginRequestDTO loginRequestDTO)
{
//do login stuff
}
}
quando provo questo filtro, il metodo onActionExecuted viene chiamato due volte che provoca la mia azione nel metodo da applicare due volte per la risposta . Ho cercato un motivo ma non riesco a trovare una soluzione.
Qualsiasi idea?
È possibile fornire la traccia di stack pertinente che mostra che entrambi i TestFilters sono stati attivati in un unico callstack? – Haney
Posso vedere la stessa cosa succedere nel mio codice. Un punto di interruzione nel controller e l'onactionexectued mostrano che il controller è stato attivato per primo, quindi OnActionExectued viene attivato due volte. – Andiih
Ho avuto lo stesso problema [AttributeUsage (AttributeTargets.Method | AttributeTargets.Class, AllowMultiple = false, Inherited = true)] risolto per me. – Martijn