У меня есть ASP.NET MVC3 приложение. При запуске на локальной машине первоначальная загрузка страниц работает с заметной задержкой. При втором открытии — уже заметно быстрее. Насколько я понимаю — это результат компиляции Linq запросов. Мне интересно, после выкладывания на сервер и запуска приложения в эксплуатацию, эти запросы будут скомпилированы ровно один раз — для первого посетителя, а остальные пользователи будут работать уже с компилированными запросами? Мне хотелось бы понять сам механизм этого компилирования, погуглив ответа так и не нашел. Где, к примеру, .net хранит скомпилированные запросы? Сбросятся ли они в случае рестарта сервера?
Re: Компиляция запросов Code First в ASP.NET MVC 3
Здравствуйте, Steamru, Вы писали:
S>У меня есть ASP.NET MVC3 приложение. При запуске на локальной машине первоначальная загрузка страниц работает с заметной задержкой. При втором открытии — уже заметно быстрее.
Веб-приложение прекомпилировано?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Компиляция запросов Code First в ASP.NET MVC 3
H>>Веб-приложение прекомпилировано? S>Да, мы выкладываем скомпилированную версию.
Компиляция LINQ запроса — суть построение динамического метода (DynamicMethod в SRE) генерирующего текст SQL, он находится в динамической сборке, время жизни которой ограничено временем жизни домена приложения в котором она скомпилирована (впрочем, в .NET 4есть возможность выгрузить такую сборку из памяти).
/* иЗвиНите зА неРовнЫй поЧерК */
Re: Компиляция запросов Code First в ASP.NET MVC 3