IIS Express jest nowym, developerskim serwerem www mającym zastąpić aktualnie “wbudowanego” w Visual Studio Cassiniego. IIS Express, w porównaniu to Cassiniego, jest o wiele bardziej wydajny oraz oferuje więcej możliwości konfiguracji (np. uruchomienie aplikacji na https).
Aktualnie nowy serwer instaluje się razem z WebMatrixem (od wersji beta 3 instaluje się już jako osobna aplikacja). Finalna wersja serwera IIS Express będzie w pełni niezależną aplikacją, jednak aktualnie domyślnie jest on zarządzany poprzez WebMatrixa.
Można jednak inaczej 🙂 Już teraz mamy możliwość wystartowania serwera IIS Express bez uruchamiania WebMatrixa – w konsoli.
1. Plik, którym będziemy uruchamiali serwer znajduje się tutaj:
c:Program Files (x86)IIS Expressiisexpress.exe (lub c:Program FilesIIS Expressiisexpress.exe, jeżeli posiadamy system 32-bitowy)
2. Zarządzanie aplikacjami www wymaga edycji pliku konfiguracyjnego, domyślnie:
c:UsersLukaszDocumentsIISExpressconfigapplicationhost.config
W pliku tym najbardziej interesuje nas sekcja <sites>
Na powyższym screenie widzimy skonfigurowane dwie aplikacje: WebSite1 (na porcie 8080) oraz Starter Site (na porcie 54054). Obie aplikacje uruchamiane są na protokole http (można to zmienić na https) oraz applicationPool Clr4IntegratedAppPool.
applicationPool możemy konfigurować osobno dla każdej aplikacji dodając atrybut applicationPool do sekcji <application>. Czyli dla powyższego przykładu może to wyglądać tak:
jako applicationPool możemy ustawić jedną z pięciu wartości:
- Clr4IntegratedAppPool
- Clr4ClassicAppPool
- Clr2IntegratedAppPool
- Clr2ClassicAppPool
- UnmanagedClassicAppPool
Podając ścieżkę fizyczną do naszej aplikacji możemy wykorzystywać zmienną %IIS_USER_HOME%, która wskazuje na katalog domowy IIS Express (C:UsersLukaszDocumentsMy Web Sites) lub podać pełną ścieżkę.
Nową aplikację dodajemy kopiując całą sekcję <site> i odpowiednio zmieniając jej parametry.
3. Kiedy już skonfigurujemy naszą aplikację to uruchamiamy serwer:
- iisexpress.exe uruchomi aplikację, która ma ustawione serverAutoStart=”true”
- iisexpress.exe /site:WebSite1 uruchomi aplikację o nazwie WebSite1
- iisexpress.exe /siteid:1 uruchomi aplikację o id 1
Pełną listę parametrów otrzymamy po uruchomieniu komendy iisexpress.exe /?.
Po uruchomieniu serwera pojawi się nam nowa ikonka w trayu, za pomocą której możemy startować/stopować naszą aplikację.
Ogólnie na tym możemy poprzestać, choć mnie osobiście przeszkadza niepotrzebnie otworzone okienko konsoli. Dlatego do uruchamiania serwera IIS Express korzystam z aplikacji Console (http://sourceforge.net/projects/console/). Aplikacja ta tworzy “okienko konsoli na pulpicie”.
U mnie wygląda to tak:
Skoro mamy już skonfigurowaną aplikację oraz uruchomiony serwer to teraz pora ustawić Visual Studio, żeby z tego serwera korzystało: otwieramy ustawienia projektu (webowego), sekcji WEB zaznaczamy “Use Custom Web Server” i podajemy adres, który wcześniej skonfigurowaliśmy w xmlu.
Chcąc debugować tak uruchomioną aplikację musimy ręcznie podpiąć się pod proces iisexpress.exe. Możemy również dodać sobie makro, które ten proces ułatwi. Jak to zrobić opisałem w tym poście: http://gasior.net.pl/2009/11/11/attach-to-process-asp-net-szybciej/
1 comment
Comments are closed.