Ulepszenia w programie Visual Studio 2005
autor: Microsoft
Program Visual Studio 2005 udostępnia deweloperom aplikacji internetowych długą listę ulepszeń i ulepszeń projektów internetowych.
Program Visual Studio 2005 udostępnia deweloperom aplikacji internetowych długą listę ulepszeń i ulepszeń projektów internetowych. Tak zaawansowane, jak program Visual Studio .NET 2002 i 2003, istnieje wiele skarg w sposób, w jaki projekty internetowe zostały obsłużone. Program Visual Studio 2005 dodaje znaczną liczbę nowych funkcji w celu rozwiązania tych skarg. Dla tych, którzy preferują sposób obsługi kompilacji aplikacji internetowych przez program Visual Studio .NET 2003, zobacz Projekty aplikacji internetowych.
W tym module omówiono ulepszenia tworzenia, zarządzania i programowania projektów internetowych. W późniejszym module dobrze omówiono ulepszenia tworzenia projektów internetowych i wdrażania ich.
Rozszerzenia serwera FrontPage
Program Visual Studio .NET 2002 i 2003 wymagał rozszerzeń serwera FrontPage w polu, aby tworzyć lub kompilować projekty sieci Web. Deweloperzy mieli wybór między dwoma różnymi trybami dostępu (rozszerzenia serwera programu FrontPage lub tryb dostępu do plików), obaj używali rozszerzeń serwera FrontPage do wykonywania zadań, takich jak ustawianie katalogu głównego aplikacji w usługach IIS itp.
Program Visual Studio 2005 usuwa zależność od rozszerzeń serwera FrontPage dla projektów lokalnych. Program Visual Studio 2005 uzyskuje teraz bezpośredni dostęp do metabazy usług IIS zamiast używać rozszerzeń serwera frontpage. Program Visual Studio 2005 dodaje również obsługę protokołu FTP, która umożliwia zdalny dostęp do projektu bez konieczności używania rozszerzeń serwera FrontPage.
W przypadku tych deweloperów, którzy chcą używać rozszerzeń serwera FrontPage w swoich projektach, opcja jest nadal dostępna. Jednak w oparciu o silne opinie społeczności deweloperów ASP.NET nie jest to wymagane.
Uwaga
Rozszerzenia serwera FrontPage są nadal wymagane do zdalnego tworzenia projektu, otwierania itp.
ASP.NET Development Server — omówienie
Program Visual Studio 2005 jest dostarczany z nowym serwerem sieci Web o nazwie ASP.NET Development Server. (Ten serwer sieci Web był wcześniej znany jako Cassini).
Istnieje kilka zalet serwera deweloperów ASP.NET.
- Teraz można tworzyć i debugować aplikacje na serwerze sieci Web przez innych administratorów.
- Serwer deweloperów ASP.NET dynamicznie mapuje katalogi wirtualne do dowolnej lokalizacji w systemie plików, co pozwala na elastyczne lokalizacje projektów.
- Użytkownicy systemu Windows XP Professional, którzy już korzystają z usług IIS, będą mogli teraz tworzyć nowe aplikacje sieci Web, które nie będą mieć wpływu na strukturę plików lub folderów domyślnej witryny sieci Web w usługach IIS.
Do korzystania z serwera ASP.NET Development Server nie jest wymagana żadna specjalna konfiguracja. Gdy projekt sieci Web hostowany w systemie plików jest debugowany lub przeglądany, program Visual Studio 2005 automatycznie uruchomi wystąpienie ASP.NET Development Server na losowym porcie, aby obsłużyć żądanie.
Więcej informacji zostanie omówionych na serwerze ASP.NET Development Server w dalszej części tego modułu.
Ulepszone zarządzanie plikami
W programach Visual Studio 2002 i 2003 plik projektu (vbproj for VB.NET i csproj for C#) przechowywane informacje o wszystkich plikach w aplikacji internetowej. Wyświetlanie Eksplorator rozwiązań jest oparte na informacjach o pliku w pliku projektu. W związku z tym Eksplorator rozwiązań często wyświetlały niedokładne informacje w przypadkach, w których były używane edytory zewnętrzne. Program Visual Studio 2002 i 2003 często zastępuje zmiany plików lub nie wyświetla najnowszej wersji plików.
Program Visual Studio 2005 nie zawiera pliku projektu. Zamiast tego odczytuje on informacje o pliku i folderze bezpośrednio z dysku, co powoduje dokładne wyświetlanie plików w projekcie. Ponieważ folder Odwołania w programach Visual Studio 2002 i 2003 nie reprezentuje rzeczywistego folderu w aplikacji internetowej, program Visual Studio 2005 usuwa również folder Odwołania z Eksplorator rozwiązań. Aby uzyskać dostęp do odwołań do projektu w programie Visual Studio 2005, należy użyć stron Właściwości dla projektu.
Tworzenie projektów internetowych
Deweloperzy sieci Web mają wiele nowych opcji tworzenia projektu w programie Visual Studio 2005. Witryny sieci Web można teraz tworzyć w dowolnym miejscu w systemie plików, a następnie debugować lub przeglądać przy użyciu nowego serwera ASP.NET Development Server. Deweloperzy mogą również tworzyć nowe witryny sieci Web przy użyciu protokołu FTP.
Kliknij tutaj, aby wyświetlić przewodnik wideo dotyczący tworzenia projektów internetowych w programie Visual Studio 2005.
Projekty systemu plików
Jak pokazano w przewodniku wideo, możesz utworzyć witryny sieci Web w systemie plików na komputerze lokalnym lub w lokalizacji zdalnej za pośrednictwem udziału plików. Witryny sieci Web utworzone w systemie plików są przeglądane i debugowane przy użyciu serwera deweloperów ASP.NET.
Uwaga
Serwer deweloperów ASP.NET może spowodować pewne zamieszanie dla klientów. Jeśli projekt sieci Web zostanie utworzony w systemie plików w strukturze katalogów IISs (tj. c:/inetpub/wwwroot), witryna sieci Web będzie nadal przeglądana za pośrednictwem serwera ASP.NET Development Server po uruchomieniu z poziomu programu Visual Studio 2005. W związku z tym każda konfiguracja usług IIS (tj. metody uwierzytelniania) nie ma zastosowania.
Domyślny projekt internetowy usuwa również wiele obciążeń tylko za pomocą strony Default.aspx, pliku default.cs i folderu App/_Data. Foldery web.config i specjalne (tj. app/_code) są dodawane w miarę ich potrzeb. Projekt internetowy zawiera tylko potrzebne pliki i foldery.
Projekty HTTP
Projekty HTTP mogą być projektami utworzonymi w lokalnej witrynie sieci Web usług IIS lub w zdalnej witrynie sieci Web. Domyślna lokalizacja projektu to http://localhost
. Po kliknięciu przycisku Przeglądaj dostępne są dwie opcje HTTP: lokalne usługi IIS i lokacja zdalna. Główną różnicą w tych dwóch opcjach jest metoda, w której informacje o witrynie internetowej są wyświetlane w oknie dialogowym Wybieranie lokalizacji i w sposobie kopiowania plików na serwer sieci Web.
Opcja Lokalne usługi IIS odczytuje informacje o lokacji z metabazy na komputerze lokalnym, a pliki są kopiowane przy użyciu systemu plików. Opcja Lokacja zdalna używa rozszerzeń serwera frontpage, a informacje i pliki lokacji są kopiowane przy użyciu wywołań RPC http i FrontPage Server Extensions.
Uwaga
Plik vs###/_tmp.htm i get/_aspx/_ver.aspx nie są już używane do określania informacji o wersji.
Domyślna opcja HTTP to Lokalne usługi IIS. Ta opcja odczytuje metabazę usług IIS, aby określić, które witryny są dostępne, oraz lokalizację, w której ma zostać utworzona zawartość. Możesz wybrać inny folder lub katalog wirtualny, wybierając go w widoku drzewa. Możesz również utworzyć nowy katalog wirtualny, oznaczyć foldery jako aplikacje, a także usunąć istniejące katalogi wirtualne z tego okna dialogowego.
Rysunek 1. Okno dialogowe Wybieranie lokalizacji
W przeciwieństwie do wcześniejszych wersji programu Visual Studio, jeśli zaznaczysz pole wyboru Użyj protokołu Secure Sockets Layer i certyfikat SSL nie jest zgodny z przeglądanym adresem URL, zostanie wyświetlone okno dialogowe Alert zabezpieczeń z pytaniem, czy chcesz kontynuować. Użycie programu Visual Studio .NET 2003, jeśli certyfikat nie był zgodny, utworzenie projektu zakończy się niepowodzeniem.
Rysunek 2. Alert zabezpieczeń dotyczący certyfikatu SSL
Uwaga dotycząca nagłówków hosta
Jeśli tworzysz aplikację internetową w witrynie powiązanej z określonym adresem IP, musisz upewnić się, że nagłówek hosta jest skonfigurowany. W przeciwnym razie program Visual Studio utworzy witrynę pod adresem http://localhost
, ale adres IP nie zostanie poprawnie rozpoznany podczas przeglądania lub debugowania witryny z poziomu środowiska IDE.
Jeśli wybierzesz opcję Lokacja zdalna, okno dialogowe zmieni się, aby umożliwić wprowadzenie docelowego adresu URL nowej witryny sieci Web. Ten adres URL musi znajdować się na serwerze z włączonymi rozszerzeniami serwera FrontPage. Jeśli chcesz pracować z lokalnym serwerem sieci Web przy użyciu rozszerzeń serwera frontpage, możesz użyć opcji Lokacja zdalna i określić lokalny adres URL.
Rysunek 3. Tworzenie witryny sieci Web na serwerze zdalnym
Podczas tworzenia aplikacji w lokacji zdalnej za pośrednictwem protokołu SSL, jeśli certyfikat SSL nie jest zgodny, okno dialogowe potwierdzenia jest nieco inne niż okno dialogowe wyświetlane podczas korzystania z opcji Lokalne usługi IIS.
Rysunek 4. Alert zabezpieczeń lokacji zdalnej
FTP
Program Visual Studio 2005 wprowadza opcję tworzenia witryn sieci Web za pośrednictwem protokołu FTP. W przypadku korzystania z tej opcji środowisko IDE tworzy pliki lokalnie w folderze tymczasowym użytkowników, a następnie używa protokołu FTP do przeniesienia plików do lokalizacji FTP.
Uwaga
Lokalizacja folderu tymczasowego to c:/Documents and Settings/<User>/Local Settings/Temp/VWDWebCache/<Server>/_<application name>
W przypadku korzystania z opcji FTP zostanie wyświetlone okno dialogowe Wybieranie lokalizacji. W tym oknie dialogowym wprowadź wymagane informacje o połączeniu FTP, jak pokazano poniżej.
Rysunek 5. Okno dialogowe Wybieranie lokalizacji dla protokołu FTP
Laboratorium: Konfigurowanie witryny FTP i tworzenie projektu
Poniższe kroki umożliwiają skonfigurowanie witryny FTP tak, aby użytkownik miał lokalizację, do której można przekazać tylko za pośrednictwem protokołu FTP.
Instalowanie usługi FTP
- Otwórz pozycję Dodaj usuń programy, wybierz pozycję Dodaj/Usuń składniki systemu Windows
- Wybierz pozycję Internet Information Services (Serwer aplikacji w systemie Windows 2003) i kliknij pozycję Szczegóły.
- Sprawdź usługę protokołu transferu plików (FTP) i kliknij przycisk OK.
- Kliknij przycisk Dalej , aby zainstalować usługę FTP.
Tworzenie nowego folderu dla zawartości
- W Eksploratorze Windows utwórz nowy folder o nazwie User1 w folderze c:/inetpub/wwwroot.
Konfigurowanie folderów i uprawnień w folderach.
- Otwórz przystawkę Internet Information Services z poziomu narzędzi administracyjnych. W węźle nazwy komputera będzie teraz dostępny folder Witryny FTP.
- Rozwiń węzeł Witryny FTP.
- Kliknij prawym przyciskiem myszy domyślną witrynę FTP, wybierz pozycję Nowa, a następnie pozycję Katalog wirtualny, a następnie kliknij przycisk Dalej.
- Wprowadź wartość User1 jako nazwę katalogu wirtualnego, a następnie kliknij przycisk Dalej.
- Wprowadź wartość c:/inetpub/wwwroot/User1 dla ścieżki i kliknij przycisk Dalej.
- Kliknij przycisk Dalej , a następnie zakończ , aby zakończyć pracę kreatora.
- Kliknij prawym przyciskiem myszy katalog wirtualny User1 w obszarze Domyślna witryna FTP i wybierz pozycję Właściwości.
- Zaznacz pole wyboru Zapis i kliknij przycisk OK , aby zamknąć okno dialogowe.
- Kliknij prawym przyciskiem myszy domyślną witrynę FTP i wybierz polecenie Właściwości.
- Na karcie Konta zabezpieczeń usuń zaznaczenie pola wyboru Zezwalaj na połączenia anonimowe.
- Kliknij przycisk Tak w oknie dialogowym z pytaniem, czy chcesz kontynuować.
- Kliknij przycisk OK , aby zamknąć okno dialogowe.
- Rozwiń domyślną witrynę sieci Web w węźle Witryny sieci Web .
- Kliknij prawym przyciskiem myszy katalog User1 i wybierz polecenie Właściwości
- W sekcji Ustawienia aplikacji kliknij pozycję Utwórz , aby oznaczyć folder jako aplikację.
- Kliknij przycisk OK , aby zamknąć okno dialogowe.
- Zamknij przystawkę Internet Information Services.
Tworzenie projektu internetowego
- Otwórz program Visual Studio 2005.
- W menu Plik wybierz pozycję Nowa witryna sieci Web.
- Na liście rozwijanej Lokalizacja wybierz pozycję FTP.
- Kliknij pozycję Browse (Przeglądaj).
- Wprowadź ciąg localhost w polu tekstowym Serwer .
- Wprowadź wartość User1 w polu tekstowym Directory (Katalog).
- Kliknij przycisk Otwórz. Lokalizacja FTP zostanie wprowadzona w oknie dialogowym Nowa witryna sieci Web.
- Kliknij przycisk OK.
- Usuń zaznaczenie pola wyboru Logowanie anonimowe w oknie dialogowym Logowanie FTP, wprowadź swoje poświadczenia, a następnie kliknij przycisk OK.
- Jaki jest adres URL projektu? (Adres URL projektu zostanie wyświetlony w Eksplorator rozwiązań).
- W menu Kompilacja wybierz pozycję Kompiluj witrynę sieci Web lub Kompiluj rozwiązanie.
- Kliknij prawym przyciskiem myszy plik Default.aspx w Eksplorator rozwiązań i wybierz pozycję Widok w przeglądarce.
- W oknie dialogowym Wymagany adres URL witryny sieci Web wprowadź adres
http://localhost/user1
URL i kliknij przycisk OK.
Uwaga
Jeśli wystąpi błąd wskazujący brak możliwości załadowania typu /_Default, upewnij się, że korzystasz z ASP.NET 2.0 w witrynie sieci Web, a nie w starszej wersji. Można to zrobić na karcie ASP.NET w internetowych usługach informacyjnych.
Otwieranie projektów internetowych
Otwieranie projektów internetowych jest podobne do tworzenia projektów. W poniższych sekcjach omówić obszary, na które należy zwrócić uwagę podczas pracy w środowisku IDE. Obejmuje również pracę z projektami internetowymi przy użyciu protokołów HTTP i FTP.
Aby otworzyć projekt sieci Web, wybierz pozycję Otwórz witrynę sieci Web z menu Plik. Zostanie wyświetlony monit z tym samym wyświetlonym wcześniej oknie dialogowym Wybieranie lokalizacji i masz te same cztery opcje: system plików, lokalne usługi IIS, FTP i lokacja zdalna.
System plików
Jak wskazano wcześniej w tym module, program Visual Studio nie używa już pliku projektu. W związku z tym, jeśli zdecydujesz się otworzyć witrynę sieci Web z systemu plików, możesz wybrać dowolny folder, nawet jeśli wybrany folder nie został utworzony jako projekt internetowy początkowo w programie Visual Studio. Możesz na przykład otworzyć folder Moje dokumenty jako witrynę sieci Web, a program Visual Studio będzie szczęśliwie go otwierał i wyświetlał pliki, jak pokazano poniżej.
Rysunek 6.Moje dokumenty otwarte jako witryna sieci Web
Ponieważ program Visual Studio tworzy tylko dodatkowe pliki i foldery w razie potrzeby, żadne dodatkowe pliki lub foldery nie są dodawane do otwartej lokalizacji. Efektem ubocznym tej architektury jest to, że uniemożliwia zagnieżdżanie witryn sieci Web w systemie plików. Rozważmy na przykład następującą strukturę katalogów.
Projekt internetowy w witrynie C:/MyWebSite
Inny projekt internetowy w lokalizacji C:/MyWebSite/Nested
Po otwarciu witryny sieci Web w folderze c:/MyWebSite folder zagnieżdżony będzie wyświetlany jako podfolder tej aplikacji.
HTTP
Podczas otwierania witryn sieci Web za pośrednictwem protokołu HTTP ustawienia są odczytywane z metabazy usług IIS (lokalne usługi IIS) lub przy użyciu rozszerzeń serwera programu FrontPage (witryna zdalna). Jeśli istnieją zagnieżdżone aplikacje internetowe, są one również wyświetlane z ikoną identyfikującą je jako aplikację. Jeśli znasz pracę z aplikacjami internetowymi w programie FrontPage, zachowanie w programie Visual Studio 2005 jest podobne.
Mimo że program Visual Studio wyświetli ikonę dla aplikacji zagnieżdżonych pod aplikacją, która jest obecnie otwarta w środowisku IDE, nie umożliwi jej rozwinięcie w celu wyświetlenia ich zawartości. Możesz jednak kliknąć je dwukrotnie, aby je otworzyć. Gdy to zrobisz, zostanie wyświetlone okno dialogowe z monitem o otwarcie aplikacji internetowej (i zastąpienie aktualnie otwartego rozwiązania) lub dodanie aplikacji internetowej do bieżącego rozwiązania.
Rysunek 7. Dwukrotne kliknięcie zagnieżdżonej ikony aplikacji spowoduje wyświetlenie tego okna dialogowego
Witryna FTP
Po otwarciu witryny za pośrednictwem protokołu FTP wszystkie pliki są kopiowane lokalnie do folderu tymczasowego. Pełna ścieżka lokalizacji magazynu lokalnego jest wyświetlana w okienku Właściwości dla projektu i jest tworzona przy użyciu następującego formatu.
C:/Documents and Settings/User>/<Local Settings/Temp/VWDWebCache/<Server>/_<application name>
W przypadku korzystania z protokołu FTP program Visual Studio musi określić podstawowy adres URL projektu, aby można było go przeglądać, jak pokazano poniżej. Jeśli nie określisz podstawowego adresu URL, program Visual Studio poprosi Cię o to podczas pierwszej próby przeglądania strony w witrynie sieci Web.
Rysunek 8. Określanie podstawowego adresu URL dla witryn FTP
Ulepszenia kompilacji
Praca z aplikacjami internetowymi w programie Visual Studio 2005 jest zauważalnie szybsza niż w poprzednich wersjach. Jest to spowodowane niedużymi zmianami w architekturze kompilacji.
W programach Visual Studio 2002 i 2003 aplikacje internetowe zostały skompilowane w jednym podstawowym zestawie znajdującym się w folderze /bin. W programie Visual Studio 2005 dodano folder App/_Code. Klasy i inny kod bez interfejsu użytkownika są dodawane do folderu App/_Code. Gdy program Visual Studio skompiluje projekt, wszystkie pliki w folderze App/_Code są kompilowane w jednym pliku App/_Code.dll. Wynikiem tej zmiany jest to, że kolejne kompilacje są znacznie szybsze niż w poprzednich wersjach.
Uwaga
Narzędzie wiersza polecenia programu MSBuild może być również używane do kompilowania ASP.NET aplikacji internetowych. To narzędzie zostanie omówione w module 9.
Innym ulepszeniem kompilacji jest nowa opcja Strona kompilacji w menu Kompilacja. Ta funkcja umożliwia deweloperowi ponowne kompilowanie tylko bieżącej strony (oczywiście i zależności), dzięki czemu zmiany mogą być kompilowane szybciej. Ponieważ język C# nie oferuje kompilacji w tle na potrzeby aktualizowania funkcji IntelliSense itp., korzyści z tej funkcji będą bardzo korzystne, ponieważ umożliwi szybkie aktualizowanie funkcji IntelliSense przez ponowne skompilowanie pojedynczej strony.
Właściwości kompilacji dla projektu umożliwiają skonfigurowanie typu kompilacji wykonywanej przed wykonaniem strony uruchamiania. Deweloperzy mogą tworzyć tylko bieżącą stronę, aby program Visual Studio mógł szybciej rozpocząć debugowanie aplikacji po wprowadzeniu zmian w kodzie.
Rysunek 9. Akcja rozpoczęcia strony kompilacji
Kolejnym doskonałym ulepszeniem programu Visual Studio i architekturą ASP.NET jest obszar edycji i kontynuowania. W programie Visual Studio 2005 deweloperzy mogą rozpocząć debugowanie projektu i wprowadzać zmiany w kodzie w projekcie bez odłączania debugera. W rzeczywistości możesz dosłownie rozpocząć debugowanie projektu, dodać nową klasę, dodać kod do tej klasy, dodać kod do strony, który tworzy nowe wystąpienie tej klasy i wykonuje metodę klasy bez odłączania debugera. Wykonywanie nowego kodu jest dosłownie tak proste, jak odświeżanie przeglądarki!
Kliknij tutaj, aby zobaczyć przewodnik wideo dotyczący funkcji edytowania i kontynuowania w programie Visual Studio 2005.
Niezawodna funkcja edytowania i kontynuowania w programach ASP.NET 2.0 i Visual Studio 2005 jest spowodowana zmianą architektury dla aplikacji ASP.NET. W ASP.NET 1.x aplikacje utworzone w programie Visual Studio 2002/2003 zostały skompilowane w podstawowym zestawie, który był przechowywany w folderze /bin. Wszystkie klasy, strony itp. dla aplikacji zostały skompilowane do tej jednej biblioteki DLL. Następnie w czasie wykonywania ASP.NET skompilować wszystkie kontrolki, znaczniki i ASP.NET kod na stronach i skopiować te biblioteki DLL do folderu tymczasowego ASP.NET.
W programie Visual Studio 2005 używającym ASP.NET 2.0 dwa modele kompilacji opisane powyżej (jeden dla programu Visual Studio i jeden dla ASP.NET w czasie wykonywania) zostały scalone z jednym typowym modelem kompilacji. Oznacza to, że wszystkie problemy z kompilacją są teraz przechwytywane podczas etapu programowania zamiast w czasie wykonywania. Umożliwia również obsługę projektanta i funkcji IntelliSense dla funkcji, takich jak kontrolki użytkownika i strony wzorcowe.
Kliknij tutaj, aby zobaczyć przewodnik wideo obsługi projektanta dla kontrolek użytkownika.
Uwaga
Gdy kontrolka użytkownika zostanie usunięta ze strony, @Register dyrektywa pozostaje w znacznikach i powinna zostać usunięta ręcznie, aby uniknąć błędów analizatora, jeśli kontrolka użytkownika zostanie usunięta z witryny sieci Web.
Kolejną poprawą modelu kompilacji programu Visual Studio jest funkcja Publikuj witrynę sieci Web. Ponieważ funkcja Publikuj wstępnie kompiluje witrynę sieci Web, deweloperzy mogą cieszyć się dodatkową wydajnością braku konieczności kompilowania niczego na żądanie. Wstępnie kompiluje również cały kod źródłowy w folderze App/_Code do biblioteki DLL, aby nie trzeba było wdrażać kodu źródłowego.
Rysunek 10. Okno dialogowe Publikowanie witryny sieci Web
Uwaga
Za pomocą narzędzia aspnet/_compile.exe można również wstępnie skompilować aplikację internetową ASP.NET. To narzędzie zostanie omówione w module 9.
Podczas publikowania witryny sieci Web pliki wstępnie skompilowane są przechowywane w folderze Tymczasowe pliki ASP.NET, jak pokazano poniżej. Pliki z rozszerzeniem skompilowanego pliku to pliki XML definiujące zależności dla określonych bibliotek DLL. Wszystkie kontrolki webform lub użytkownika są kompilowane w losowych bibliotekach DLL rozpoczynających się od aplikacji/sieci Web/.
Jeśli pozostawisz zaznaczone pole wyboru Zezwalaj na aktualizację tej wstępnie skompilowanej witryny , znaczniki wewnątrz formularzy sieci Web i kontrolek użytkownika nie zostaną wstępnie skompilowane do biblioteki DLL umożliwiającej wprowadzanie zmian po wdrożeniu. Jeśli wolisz zablokować znaczniki tak, aby zmiany wdrożonej zawartości nie są dozwolone, usuń zaznaczenie tego pola.
Pole wyboru Użyj stałego nazewnictwa i zestawów jednostronicowych umożliwia wyłączenie kompilacji wsadowej, tak aby każda strona została skompilowana do zestawu o stałej nazwie. Pozostawienie tego pola niezaznaczonego umożliwia korzystanie z kompilacji wsadowej.
Pole wyboru Włącz silne nazewnictwo w wstępnie skompilowanych zestawów umożliwia silną nazwę wstępnie skompilowanych zestawów.
Uwaga
W ASP.NET 1.x zestawy o silnych nazwach musiały zostać zainstalowane w globalnej pamięci podręcznej zestawów (GAC). W ASP.NET 2.0 nie jest wymagane zainstalowanie zestawów o silnych nazwach w pamięci GAC.
Rysunek 11. Wstępnie skompilowane pliki aplikacji ASP.NET
Uwaga
W powyższej aplikacji nie było pliku web.config. Gdyby tak się stało, zostałaby wywołana PrecompiledApp.config po procesie publikowania witryny sieci Web.
Ulepszenia we wdrożeniu
Podobnie jak w przypadku programów Visual Studio 2002 i 2003, program Visual Studio 2005 oferuje funkcję kopiowania projektu. Jednak funkcja została wzmacniana w programie Visual Studio 2005 i jest teraz nazywana kopiowaniem witryny sieci Web.
Okno dialogowe Kopiuj witrynę sieci Web jest podzielone na lewą ramkę i prawą ramkę. Lewa ramka jest nazywana źródłową witryną sieci Web, a prawa ramka jest nazywana zdalną witryną sieci Web. Jedną z rzeczy, które mogą mylić niektórych deweloperów jest to, że witryna wyświetlana w odpowiedniej ramce nie musi być lokacją zdalną. Może to być lokacja w lokalnym systemie plików lub w lokalnym wystąpieniu usług IIS. Ponadto witryna wyświetlana w lewej ramce nie musi być źródłową witryną sieci Web, ponieważ okno dialogowe umożliwia publikowanie ze zdalnej witryny sieci Web do źródłowej witryny sieci Web.
W przypadku kopiowania projektu do zdalnej witryny sieci Web ta witryna musi mieć zainstalowane rozszerzenia serwera programu FrontPage. Jeśli tak nie jest, musisz nawiązać połączenie przy użyciu protokołu FTP. Z drugiej strony, jeśli kopiujesz projekt do lokalnego wystąpienia usług IIS, rozszerzenia serwera programu FrontPage nie są wymagane.
Uwaga
Jeśli spróbujesz utworzyć nową witrynę sieci Web w lokalnym wystąpieniu usług IIS i zainstalowano rozszerzenia serwera programu FrontPage 2002, zostanie wyświetlony komunikat o błędzie informujący o tym, że tworzenie witryn sieci Web nie jest obsługiwane na serwerze programu SharePoint. W takim przypadku masz możliwość zainstalowania rozszerzeń serwera programu FrontPage 2000 lub usunięcia rozszerzeń serwera programu FrontPage.
Kliknij tutaj, aby zapoznać się z przewodnikiem wideo funkcji kopiuj witrynę sieci Web.
Ulepszenia debugowania
W programie Visual Studio 2005 wprowadzono cztery kluczowe ulepszenia debugowania.
- Lokalne debugowanie jako nieadministrator jest możliwe z pudełka.
- Atrybut Debug dla elementu kompilacji jest teraz domyślnie false.
- Konfiguracja i konfiguracja debugowania zdalnego jest łatwiejsza niż wcześniej.
- Teraz można debugować witrynę sieci Web otwartą za pośrednictwem lokalizacji FTP.
Debugowanie jako administrator inny niż administrator
Dodanie serwera ASP.NET Development Server umożliwia użytkownikom niebędącym administratorami łatwe debugowanie ASP.NET aplikacji bezpośrednio po ich użyciu. Gdy aplikacja ASP.NET uruchomiona w lokalnym systemie plików jest debugowana, program Visual Studio uruchamia ASP.NET Development Server w kontekście zalogowanego użytkownika. Ten użytkownik może następnie debugować aplikację bez żadnej dodatkowej konfiguracji.
Debugowanie ma wartość False domyślnie
W ASP.NET 1.x atrybut debugowania w elemrybucie kompilacji pliku web.config został domyślnie ustawiony na wartość true . Zawsze zaleca się, aby deweloperzy ustawili ten atrybut na wartość false przed wdrożeniem aplikacji w środowisku produkcyjnym, ale ponieważ większość deweloperów nie w pełni rozumie konsekwencji pozostawienia atrybutu debugowania ustawionego na wartość true, po prostu zostawili ją w stanie rzeczywistym.
Najbardziej poważnym problemem z ustawieniem atrybutu debugowania na wartość true jest to, że wyłącza asp. Model kompilacji wsadowej NETs. W związku z tym każda strona jest kompilowana do oddzielnej biblioteki DLL. Jeśli aplikacja internetowa składa się z tysięcy stron (niesłuchanych w jakikolwiek sposób), oznacza to, że kilka tysięcy małych bibliotek DLL zostanie utworzonych przez aplikację. Chociaż te biblioteki DLL mają niewielki rozmiar, nie są ładowane do żadnej konkretnej lokalizacji w pamięci. W związku z tym powodują fragmentację pamięci systemowej i mogą przyczynić się do wystąpienia outOfMemoryException.
W ASP.NET 2.0 atrybut debugowania jest domyślnie ustawiony na wartość false. Jak już wiesz, gdy deweloper debuguje aplikację ASP.NET w programie Visual Studio 2005, zostanie wyświetlony monit o dodanie pliku web.config z włączonym debugowaniem. W ten sposób występują te same wady, które były obecne w ASP.NET 1.x, ale teraz deweloper jest wyraźnie ostrzegany, że atrybut powinien zostać zresetowany do wartości false przed przeniesieniem aplikacji do środowiska produkcyjnego.
Konfiguracja i konfiguracja debugowania zdalnego
W programie Visual Studio 2002/2003 zdalne debugowanie polegało na menedżerze debugowania komputera (mdm.exe) i procesie vs7jit.exe. Z tego powodu rozwiązywanie problemów z debugowaniem zdalnym było często czarną skrzynką dla klientów i często nie było o wiele lepiej w przypadku programu PSS.
Program Visual Studio 2005 usuwa zależność od procesów mdm.exe i vs7jit.exe. Zamiast tego używa teraz usługi Remote Debug Monitor (msvsmon.exe).
Wymaganie debugowania w programie Visual Studio 2005 zdalnie jest dość proste. Przed debugowaniem należy uruchomić msvsmon.exe na serwerze zdalnym. Monitor zdalnego debugowania można zainstalować z dysku CD programu Visual Studio lub po prostu uruchomić msvsmon.exe z udziału bez instalowania niczego na serwerze sieci Web.
Po uruchomieniu msvsmon.exe prawdopodobnie będzie narzekać na zablokowane porty na potrzeby zdalnego debugowania. Na szczęście można łatwo odblokować porty bezpośrednio w oknie dialogowym ostrzeżenia, jak pokazano poniżej.
Rysunek 12. Powiadomienie, że Zapora systemu Windows blokuje zdalne debugowanie
Po odblokowaniu portów niezbędnych do debugowania zostanie wyświetlony monitor debugowania zdalnego, jak pokazano poniżej. Z poziomu tego interfejsu można łatwo monitorować połączenia i zmieniać uprawnienia debugowania.
Rysunek 13. Monitor debugowania zdalnego
Można również zdalnie debugować aplikację internetową otwartą za pośrednictwem protokołu FTP. Kroki są takie same jak te, które zostały wcześniej omówione. Należy jednak określić podstawowy adres URL do przeglądania projektu FTP, jak opisano wcześniej w tym module.
Laboratorium 2
Debugowanie zdalne za pomocą programu Visual Studio 2005
To laboratorium przeprowadzi Cię przez zdalne debugowanie za pomocą programu Visual Studio 2005.
Kliknij tutaj, aby zapoznać się z przewodnikiem wideo tego laboratorium.
To laboratorium wymaga posiadania dwóch maszyn z uruchomionym programem Visual Studio 2005 i drugim z uruchomionymi usługami IIS 5 lub nowszymi.
- Otwórz program Visual Studio 2005 i utwórz nową witrynę sieci Web na serwerze zdalnym.
Uwaga
Witrynę sieci Web można utworzyć na zdalnym wystąpieniu usług IIS lub za pośrednictwem protokołu FTP.
- Na zdalnym serwerze sieci Web znajdź msvsmon.exe na maszynie dewelopera przy użyciu ścieżki UNC i wykonaj ją.
Domyślną lokalizacją dla msvsmon.exe jest //server/c$/Program Files/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86. - Jeśli zostanie wyświetlony monit o odblokowanie portów na potrzeby zdalnego debugowania, zrób to.
- Na maszynie deweloperów otwórz kod za pomocą pliku Default.aspx i ustaw punkt przerwania w metodzie Page/_Load.
- Rozpocznij debugowanie na komputerze deweloperskim.
Należy przejść do punktu przerwania zgodnie z oczekiwaniami.
Uruchamianie programu ASP.NET Development Server
Jak już wspomniano, program Visual Studio 2005 jest dostarczany z serwerem sieci Web o nazwie ASP.NET Development Server. (Serwer deweloperów ASP.NET jest czasami określany jako Cassini). Ten serwer sieci Web to wygodny sposób przeglądania i debugowania aplikacji internetowych działających w systemie plików.
Serwer deweloperów ASP.NET jest ograniczonym serwerem sieci Web. Nie zezwala na połączenia zdalne, nie zezwala na żadne żądania od żadnego użytkownika innego niż użytkownik, który uruchomił serwer sieci Web. Nie ma również możliwości obsługi stron ASP. Są obsługiwane tylko zasoby ASP.NET i zasoby HTML (w tym obrazy, pliki CSS itp.).
Serwer deweloperów ASP.NET można uruchomić za pośrednictwem wiersza polecenia, uruchamiając plik WebDev.WebServer.exe znajdujący się w lokalizacji c:/Windows/Microsoft.NET/Framework/v2.0./////*. W poniższym oknie dialogowym zostaną wyświetlone dostępne parametry.
Rysunek 14
Uwaga
Serwer deweloperów ASP.NET nie jest obsługiwany po jawnym uruchomieniu za pośrednictwem wiersza polecenia.