¿Por qué no se dispara mi ActionFilterAttribute OnActionExecuting de la API web ASP.NET?
Estoy tratando de implementar lo que se ve aquí:http://www.piotrwalat.net/nhibernate-session-management-in-asp-net-web-api/ pero estoy teniendo un problema con miNhSessionManagementAttribute
.
He establecido puntos de interrupción en miOnActionExecuting(HttpActionContext actionContext)
para ver si la función fue llamada alguna vez, no fue así.
Revisé miglobal.asax.cs
archivo y encontrado estoy de hecho el registro deActionFilter
con:
GlobalConfiguration.Configuration.Filters.Add(new NhSessionManagementAttribute());
También he decorado mi propia clase de controlador, así como sus acciones con el atributo en vano:
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 qué este filtro de acción no dispara ninguno de los eventos internos?