Ich versuche zu implementieren, was hier zu sehen ist: http://www.piotrwalat.net/nhibernate-session-management-in-asp-net-web-api/, aber ich habe ein Problem mit meinem NhSessionManagementAttribute
.
Ich habe auf meinem Haltepunkt gesetzt, um OnActionExecuting(HttpActionContext actionContext)
zu sehen, ob die Funktion jemals aufgerufen wurde - war es nicht.
Ich habe meine global.asax.cs
Datei noch einmal überprüft und festgestellt, dass ich die Datei tatsächlich registriere ActionFilter
mit:
GlobalConfiguration.Configuration.Filters.Add(new NhSessionManagementAttribute());
Ich habe auch sowohl meine Controller-Klasse selbst als auch ihre Aktionen mit dem Attribut ohne Erfolg dekoriert:
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;
}
}
Warum würde dieser Aktionsfilter keines der darin enthaltenen Ereignisse auslösen?