Я пытаюсь реализовать увиденное здесь: http://www.piotrwalat.net/nhibernate-session-management-in-asp-net-web-api/, но у меня проблема с моим NhSessionManagementAttribute
.
Я установил точки останова на моем OnActionExecuting(HttpActionContext actionContext)
, чтобы увидеть, была ли функция вызвана - это не так.
Я дважды проверил файл global.asax.cs
и обнаружил, что на самом деле регистрирую ActionFilter
с помощью
GlobalConfiguration.Configuration.Filters.Add(new NhSessionManagementAttribute());
Я также украсил как сам мой класс контроллера, так и его действия с атрибутом безрезультатно:
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;
}
}
Почему этот фильтр действий не будет запускать какие-либо из событий внутри?