Изпълнение на персонализиран VirtualPathProvider с предварително компилиран уебсайт

в момента имам персонализиран VirtualPathProvider в уеб приложение Asp.net MVC.

Това VirtualPathProvider проверява зоната от маршрута "/{Area}/{Controller}/..." и използва модула NameSpace.{Area}.Main.dll, за да върне изгледите, които се съдържат в този сборник като вградени ресурси.

Това работи чудесно и не се налага да разполагам никакви ascx, js, css файлове.

Сега проблемът ми е следният:

Бих искал предварително да компилирам aspx и ascx файловете в сборката и вместо да имам изгледите като вградени ресурси, ще имам класа изглед с Response.Write.

Мога да компилирам предварително изгледите с помощта на aspnet_compiler, но продължавам да получавам грешка, когато ViewEngine се опита да намери изгледа и не успее.

Основната ми цел е да имам начин първото използване на определен изглед/потребителски контрол да бъде по-бързо и да не чакам компилацията да се случи.

Това е изискване, тъй като приложението може да бъде групирано в добавки и тези добавки да бъдат внедрени в директорията Bin.

някакви мисли?


person Carlos Sobrinho    schedule 11.12.2009    source източник


Отговори (1)


Тази публикация в блога на VirtualPathProvider в предварително компилирани уеб сайтове от Coskun SUNALI описва решение, използващо отражение. Моля, имайте предвид, че той ясно показва, че това не е официално поддържано решение от Microsoft, но съдейки по коментарите в публикацията в неговия блог, изглежда, че работи добре за някои хора.

person Martin Hollingsworth    schedule 20.05.2010
comment
Току-що забелязах, че има подобен въпрос stackoverflow.com/questions /12397/, който вече се отнася до това решение - person Martin Hollingsworth; 21.05.2010
comment
Благодаря ви за отговора. В момента тествам решение, като използвам функцията Warmup на новия IIS 7.5 и автоматично зареждам предварително всички страници, за да принудя компилация... Но скоро ще опитам това. Оценявам го! - person Carlos Sobrinho; 21.05.2010