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?