Rhino Commons UnitOfWork и ASP.NET MVC Controller, похоже, кэшируют параметры
Я использую Rhino Commons UnitOfWork в моих методах контроллера. Первый запрос извлекает данные и отображает их правильно. Моя проблема, когда я изменяю параметры в URL, они не передаются в контроллер. Используются значения из предыдущего запроса.
Мой метод контроллера указан ниже:
public ActionResult List(int year, int? month, int? day)
{
IList<Meeting> meetings;
using (UnitOfWork.Start()) {
meetings = _meetingRepository.GetByDate(year, month, day);
}
return View("List", meetings);
}
Global.asax.cs наследуется от UnitOfWorkApplication
Первоначальный запрос к ~/ встречи /2009 возвращает все собрания за 2009 год. Следующий запрос к ~/ встречи /2007 возвращает все встречи за 2009 год.
Это происходит при отладке в Visual Studio. У меня не было возможности перейти в IIS, чтобы узнать, возникает ли такая же проблема.
Я что-то не так делаю при использовании UnitOfWork, или это может быть проблемой где-то еще?
1 ответ
Я предполагаю, что вся вещь UnitOfWork - красная сельдь... Контроллер, которому передаются значения из предыдущих запросов, звучит так, как будто один и тот же экземпляр контроллера повторно используется для нескольких запросов. Среда ASP.NET MVC работает в предположении, что каждый запрос обрабатывается новым экземпляром контроллера.
Итак, имея в виду, как вы строите свои контроллеры? Например, если вы используете инфраструктуру IoC, такую как Spring.NET, убедитесь, что ваши контроллеры не являются одиночными.