Некорректная загрузка страницы в MVC

В настоящее время мы размещаем веб-сайт asp.net mvc 2 в IIS 6. В этом приложении мы переопределяем метод "Create Controler" и настраиваем механизм пользовательского представления. Этот движок определяет расположение просмотров в зависимости от формата URL. например; если пользователь попадает на www.asite.com/test/1.0/index.aspx, механизм просмотра говорит mvc искать index.aspx в каталоге 'sitedirectory / test / 1.0 / views / pages /';

string versionDirectory = String.Format("~/{0}/{1}", offerCode, version.ToString("#0.0000")); 
        ViewLocationFormats = new[]
                                  {
                                      versionDirectory + "/Views/Pages/{0}.aspx",
                                      versionDirectory + "/Views/Pages/{0}.ascx",
                                      "~/Views/Pages/{0}.aspx",
                                      "~/Views/Pages/{0}.ascx",
                                      "~/Shared/Views/{0}.aspx",
                                      "~/Shared/Views/{0}.ascx"
                                  };

        MasterLocationFormats = new[]
                                    {
                                        versionDirectory + "/Views/Layouts/{0}.master",
                                        "~/Views/Layouts/{0}.master"
                                    };

        PartialViewLocationFormats = ViewLocationFormats;

Проблема, с которой мы сталкиваемся, заключается в том, что когда два или более пользователей попадают на сайт примерно в одно и то же время, загружаемые представления могут переключаться. Однако данные, показанные для этих представлений, верны.

у кого-нибудь есть идеи, почему это будет происходить?

1 ответ

Решение

Это (мало) известная проблема - существует проблема с кэшированием.

Взгляните на этот пост: http://www.hanselman.com/blog/ABetterASPNETMVCMobileDeviceCapabilitiesViewEngine.aspx

И пройти через комментарии.

Я закончил тем, что внедрил механизм представления, который наследуется от IViewEngine напрямую и использует WebFormsViewEngine для внутреннего использования.

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