25 sierpnia 2010, 17:15 dario Komentarze (0)

Jak uruchomić Mscd wewnątrz aplikacji ASP.NET MVC

Projekt Mscd.codeplex.com (Mini Static Content Delivery) służy do optymalizacji kodu js/css oraz zwiększenia szybkości ładowania strony poprzez zmniejszenie wielkości ładowanego kontentu oraz mniejszej ilości odwołań do serwera (dzięki mechanizmowi paczek). Mscd może pracować jako osobna aplikacja. Dostęp do zgromadzonego kontentu jest wykonywany na osobnej domenie (osobnym adresie aplikacji), na przykład http://static.softio.pl/styles/Site_Default_vFF05165E.css. Bardzo łatwe jest także użycie wewnątrz istniejącej aplikacji. Poniżej jest opis jak to zrobić.

Konfiguracja

Należy do projektu dodać referencję do pliku Softio.Mscd.Server.dll oraz Softio.Mscd.Client.dll. W pliku web.config należy dodać w sekcji handlers następujący wpis:

<add
	name="StaticFileHandler"
	preCondition="integratedMode"
	verb="GET"
	path="*.*"
	type="Softio.Mscd.StaticFileHandler, Softio.Mscd.Server"/>

Dobrze jest mieć także szybki dostęp do metod tworzących odwołania do naszych zasobów, więc dodajemy namespace:

<add namespace="Softio.Mscd.Client"/>

Dodajemy także konfigurację samego Mscd w sekcji appSettings:

<add key="MSCD.RootDirectory" value="static"/>
<add key="MSCD.ResourcesDirectory" value="~/static"/>
<add key="MSCD.StaticSiteAddress" value="~/nasza_aplikacja/static"/>
<add key="MSCD.ExpiredInDays" value="365"/>
<add key="MSCD.ContentEncoding" value="utf-8"/>

Powyższa konfiguracja mówi, że nasz kontent będzie zgromadzony w katalogu Static zdefiniowanego w katalogu głównym naszej aplikacji. Pozostaje jeszcze powiedzieć silnikowi MVC, aby nie dotykał naszych zasobów:

 

routes.IgnoreRoute("static/{*content}");

 

Wgrywamy pliki

W katalogu Static tworzymy katalogi o nastepujących nazwach: Styles i Scripts. W tych katalogach będziemy tworzyc paczki. Każda paczka to podkatalog. W przytoczonym przykładzie na początku widzimy, że strona Softio ma paczkę arkusza stylów o nazwie Site_Default. Wszystkie pliki css potrzebne do poprawnego wyrenderowania strony softio.pl znajdują się właśnie w tym katalogu. Jedno wywołanie powoduje, że wszystkie te style są zbierane przez Mscd w całość, optymalizowane, kompresowane i wysyłane do przeglądarki. Analogicznie postępujemy w przypadku plików js.

Przykład

Niebawem postaram się zaprezentować gotowy przykład aplikacji z opisanym powyżej przypadkiem użycia.

Tagi:

Projekty

Komentarze zablokowane

O autorze

Dariusz Gil - projektant i programista aplikacji internetowych budowanych na platformie Microsoft w technologii ASP.NET (C#) oraz MS SQL Server. Obecnie właściciel (narazie :)) jednoosobowej firmy Softio.

Filtruj używając APML