Dlaczego mój ASP.NET Web API ActionFilterAttribute OnActionExecuting nie uruchamia się?

Próbuję wdrożyć to, co jest tutaj widoczne:http://www.piotrwalat.net/nhibernate-session-management-in-asp-net-web-api/ ale mam problem z moimNhSessionManagementAttribute.

Ustawiłem punkty przerwania na moimOnActionExecuting(HttpActionContext actionContext) aby sprawdzić, czy funkcja ta była kiedykolwiek wywoływana - nie była.

Sprawdziłem dwukrotnieglobal.asax.cs file i znalazłem, że faktycznie rejestrujęActionFilter z:

GlobalConfiguration.Configuration.Filters.Add(new NhSessionManagementAttribute());

Bez powodzenia udekorowałem zarówno moją klasę kontrolera, jak i jej działania atrybutem:

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;
    }
}

Dlaczego ten filtr akcji nie miałby wystrzelić żadnego z wydarzeń w środku?

questionAnswers(6)

yourAnswerToTheQuestion