Por que meu ActionFilterAttribute OnActionExecuting da API da Web do ASP.NET não está disparando?
Estou tentando implementar o que é visto aqui:http://www.piotrwalat.net/nhibernate-session-management-in-asp-net-web-api/ mas estou tendo um problema com o meuNhSessionManagementAttribute
.
Eu coloquei breakpoints no meuOnActionExecuting(HttpActionContext actionContext)
para ver se a função foi alguma vez chamada - não foi.
Eu verifiquei minhaglobal.asax.cs
arquivo e encontrado estou de fato registrando oActionFilter
com:
GlobalConfiguration.Configuration.Filters.Add(new NhSessionManagementAttribute());
Eu também decorei a minha própria classe de controlador, assim como suas ações com o atributo sem sucesso:
public class ClientsController : ApiController {
static readonly ClientRepository repository = new ClientRepository();
[NhSessionManagement]
public IEnumerable<Client> GetAllClients() {
return repository.GetAll();
}
[NhSessionManagement]
public Client GetClient(int id) {
Client client = repository.Get(id);
if (client == null) {
throw new HttpResponseException(
new HttpResponseMessage(HttpStatusCode.NotFound)
);
}
return client;
}
}
Por que esse filtro de ação não acionaria nenhum dos eventos?