Некорректная загрузка страницы в MVC - PullRequest
1 голос
/ 14 февраля 2011

В настоящее время мы размещаем веб-сайт asp.net mvc 2 в IIS 6. В этом приложении мы переопределяем метод «Создать контроллер» и настраиваем механизм пользовательского представления.Этот движок определяет расположение просмотров в зависимости от формата 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 Ответ

1 голос
/ 14 февраля 2011

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

Посмотрите на этот пост: http://www.hanselman.com/blog/ABetterASPNETMVCMobileDeviceCapabilitiesViewEngine.aspx

И просмотрите комментарии.

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

...