Некорректная загрузка страницы в 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 для внутреннего использования.