¿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?

Respuestas a la pregunta(6)

Su respuesta a la pregunta