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, убедитесь, что ваши контроллеры не являются одиночными.

Другие вопросы по тегам