5

Obecnie mam niestandardowy VirtualPathProvider w aplikacji internetowej Asp.net MVC.Uruchamianie niestandardowego VirtualPathProvider z prekompilowaną stroną internetową

Ten VirtualPathProvider sprawdza obszar od trasy "/{Area}/{Controller}/..." i używa modułu NameSpace.{Area}.Main.dll do zwrócenia widoków zawartych w tym zespole jako Zasoby osadzone.

Działa to znakomicie i nie trzeba instalować żadnych plików ascx, js, css.

Teraz mój problem jest taki:

Chciałbym precompile z aspx i ascx pliki w zespole i zamiast poglądy jak wbudowanych zasobów chciałbym mieć klasę widok z Response.Write.

Mogę prekompilować widoki za pomocą aspnet_compiler, ale ciągle dostaję błąd, gdy kiedykolwiek ViewEngine próbuje znaleźć widok i nie powiedzie się.

Moim głównym celem jest uzyskanie sposobu na wykorzystanie po raz pierwszy określonego widoku/kontroli użytkownika, aby był szybszy i nie trzeba czekać na kompilację.

Jest to wymagane, ponieważ aplikacja może zostać zgrupowana w postaci wtyczek i te wtyczki zostaną wdrożone w katalogu Bin.

Jakieś myśli?

Odpowiedz

8

Ten blog blog VirtualPathProvider In Precompiled Web Sites opisuje rozwiązanie za pomocą refleksji. Należy pamiętać, że wyjaśnia on wyraźnie, że nie jest to oficjalnie obsługiwane rozwiązanie firmy Microsoft, ale sądząc po komentarzach na jego blogu, wydaje się, że działa on dobrze dla niektórych osób.

+0

Po prostu zauważyłem, że było podobne pytanie http://stackoverflow.com/questions/12397/net-virtualpathproviders-and-pre-compilation, które już odniosło się do tego rozwiązania. –

+0

Dziękuję za odpowiedź. Obecnie testuję rozwiązanie za pomocą funkcji rozgrzewki w nowych IIS 7.5 i automatycznie wstępnie ładuję wszystkie strony, aby wymusić kompilację ... Ale spróbuję to wkrótce. Bardzo doceniane! –

+1

To zadziwiające, że nie zostało to zmienione w .net 4 – DevelopingChris

Powiązane problemy