Усовершенствования в Visual Studio 2005
Visual Studio 2005 предоставляет разработчикам веб-приложений длинный список улучшений и улучшений веб-проектов.
Visual Studio 2005 предоставляет разработчикам веб-приложений длинный список улучшений и улучшений веб-проектов. Насколько мощными являются Visual Studio .NET 2002 и 2003, было много жалоб на обработку веб-проектов. Visual Studio 2005 добавляет значительное количество новых функций для решения этих жалоб. Для тех, кто предпочитает, как Visual Studio .NET 2003 обрабатывает компиляцию веб-приложений, см. статью Проекты веб-приложений.
В этом модуле подробно описаны улучшения в области создания, управления и разработки веб-проектов. В следующем модуле подробно описаны улучшения в создании и развертывании веб-проектов.
Серверные расширения FrontPage
Visual Studio .NET 2002 и 2003 требовали серверных расширений FrontPage в поле для создания или сборки веб-проектов. У разработчиков был выбор между двумя различными режимами доступа (серверные расширения FrontPage или режим доступа к файлам). Оба использовали серверные расширения FrontPage для выполнения таких задач, как настройка корневого каталога приложения в IIS и т. д.
Visual Studio 2005 устраняет зависимость от серверных расширений FrontPage для локальных проектов. Visual Studio 2005 теперь обращается к метабазе IIS напрямую, а не использует серверные расширения FrontPage. В Visual Studio 2005 также добавлена поддержка FTP, которая обеспечивает удаленный доступ к проекту без использования серверных расширений FrontPage.
Для разработчиков, которые хотят использовать серверные расширения FrontPage в своих проектах, эта возможность по-прежнему доступна. Однако, основываясь на сильных отзывах сообщества разработчиков ASP.NET, это не является обязательным требованием.
Примечание
Серверные расширения FrontPage по-прежнему необходимы для удаленного создания, открытия и т. д.
Обзор сервера разработки ASP.NET
Visual Studio 2005 поставляется с новым веб-сервером с именем ASP.NET Development Server. (Этот веб-сервер ранее назывался Cassini.)
Сервер разработки ASP.NET имеет ряд преимуществ.
- Теперь пользователи, не являющиеся администраторами, могут разрабатывать и выполнять отладку на веб-сервере.
- Сервер разработки ASP.NET динамически сопоставляет виртуальные каталоги с любым расположением в файловой системе, обеспечивая гибкие расположения проектов.
- Пользователи Windows XP Professional, которые уже используют IIS, теперь смогут создавать новые веб-приложения, которые не будут влиять на структуру файлов или папок веб-сайта по умолчанию в IIS.
Для использования преимуществ сервера разработки ASP.NET не требуется специальная конфигурация. При отладке или просмотре веб-проекта, размещенного в файловой системе, Visual Studio 2005 автоматически запустит экземпляр сервера разработки ASP.NET на случайном порту для обслуживания запроса.
Дополнительные сведения будут рассмотрены на сервере разработки ASP.NET далее в этом модуле.
Улучшенное управление файлами
В Visual Studio 2002 и 2003 файл проекта (VBPROJ для VB.NET и CSPROJ для C#) хранит сведения обо всех файлах в веб-приложении. Отображение Обозреватель решений основано на сведениях о файле проекта. Из-за этого Обозреватель решений часто отображали неточные сведения в случаях, когда использовались внешние редакторы. Visual Studio 2002 и 2003 часто перезаписывает изменения файлов или не отображает самую последнюю версию файлов.
Visual Studio 2005 не использует файл проекта. Вместо этого он считывает сведения о файлах и папках непосредственно с диска, что приводит к точному отображению файлов в проекте. Так как папка References в Visual Studio 2002 и 2003 не представляет фактическую папку в веб-приложении, Visual Studio 2005 также удаляет папку References из Обозреватель решений. Чтобы получить доступ к ссылкам на проект в Visual Studio 2005, используйте страницы свойств проекта.
Создание веб-проектов
У веб-разработчиков есть множество новых возможностей для создания проектов в Visual Studio 2005. Теперь веб-сайты можно создавать в любом месте файловой системы, а затем их можно отлаживать или просматривать с помощью нового сервера разработки ASP.NET. Разработчики также могут создавать новые веб-сайты с помощью FTP.
Щелкните здесь, чтобы просмотреть видео пошаговое руководство по созданию веб-проектов в Visual Studio 2005.
Проекты файловой системы
Как было показано в пошаговом руководстве, вы можете создать веб-сайты в файловой системе на локальном компьютере или в удаленном расположении с помощью общей папки. Веб-сайты, созданные в файловой системе, просматриваются и отлаживаются с помощью сервера разработки ASP.NET.
Примечание
Сервер разработки ASP.NET может вызвать некоторую путаницу для клиентов. Если веб-проект создается в файловой системе в структуре каталогов IISs (например, c:/inetpub/wwwroot), веб-сайт по-прежнему будет просматриваться через сервер разработки ASP.NET при запуске из Visual Studio 2005. Поэтому любая конфигурация IIS (т. е. методы проверки подлинности) неприменима.
Веб-проект по умолчанию также устраняет большие затраты, включая только страницу Default.aspx, файл default.cs и папку App/_Data. web.config и специальные папки (например, app/_code) добавляются по мере необходимости. Веб-проект включает только необходимые файлы и папки.
Проекты HTTP
Проекты HTTP могут быть проектами, созданными на локальном веб-сайте IIS или на удаленном веб-сайте. Расположение проекта по умолчанию — http://localhost
. Если нажать кнопку Обзор, есть два варианта HTTP: Локальные СЛУЖБЫ IIS и Удаленный сайт. Разница main в этих двух параметрах заключается в методе отображения сведений о веб-сайте в диалоговом окне Выбор расположения и способе копирования файлов на веб-сервер.
Параметр Локальные службы IIS считывает сведения о сайте из метабазы на локальном компьютере, а файлы копируются с помощью файловой системы. Параметр Удаленный сайт использует серверные расширения FrontPage, а сведения о сайте и файлы копируются с помощью вызовов RPC http и серверных расширений FrontPage.
Примечание
Файл vs###/_tmp.htm и get/_aspx/_ver.aspx больше не используются для определения сведений о версии.
По умолчанию используется параметр HTTP Local IIS. Этот параметр считывает метабазу IIS, чтобы определить доступные сайты и расположение для создания содержимого. Вы можете выбрать другую папку или виртуальный каталог, выбрав их в представлении в виде дерева. Вы также можете создать новый виртуальный каталог, пометить папки как приложения, а также удалить существующие виртуальные каталоги из этого диалогового окна.
Рис. 1. Диалоговое окно "Выбор расположения"
В отличие от более ранних версий Visual Studio, если вы проверка флажок Использовать уровень безопасных сокетов, а SSL-сертификат не соответствует URL-адресу, который вы просматриваете, появится диалоговое окно Оповещение системы безопасности с запросом продолжить. При использовании Visual Studio .NET 2003, если сертификат не совпадает с сертификатом, создание проекта завершится ошибкой.
Рис. 2. Оповещение системы безопасности о SSL-сертификате
Примечание о заголовках узла
Если вы создаете веб-приложение на сайте, привязанном к определенному IP-адресу, необходимо убедиться, что настроен заголовок узла. В противном случае Visual Studio создаст сайт по адресу http://localhost
, но IP-адрес не будет правильно разрешаться при просмотре сайта или отладке из интегрированной среды разработки.
Если выбран параметр Удаленный сайт, диалоговое окно изменится, чтобы вы могли ввести ЦЕЛЕВОй URL-адрес для нового веб-сайта. Этот URL-адрес должен находиться на сервере с включенными серверными расширениями FrontPage. Если вы хотите работать с локальным веб-сервером с помощью серверных расширений FrontPage, можно использовать параметр Удаленный сайт и указать локальный URL-адрес.
Рис. 3. Создание веб-сайта на удаленном сервере
При создании приложения на удаленном сайте по протоколу SSL, если SSL-сертификат не совпадает, диалоговое окно подтверждения немного отличается от диалогового окна, отображаемого при использовании параметра Локальные службы IIS.
Рис. 4. Оповещение системы безопасности удаленного сайта
FTP
В Visual Studio 2005 представлена возможность создания веб-сайтов по протоколу FTP. При использовании этого параметра интегрированная среда разработки создает файлы локально во временной папке users, а затем использует FTP для перемещения файлов в расположение FTP.
Примечание
Папка temp : c:/Documents and Settings/<User>/Local Settings/Temp/VWDWebCache/<Server>/_<application name>
При использовании параметра FTP появится диалоговое окно Выбор расположения. Введите необходимые сведения о ftp-подключении в этом диалоговом окне, как показано ниже.
Рис. 5. Диалоговое окно выбора расположения для FTP
Задание. Настройка FTP-сайта и создание проекта
Следующие действия настраивают FTP-сайт таким образом, чтобы у пользователя было расположение, в которое только он может отправлять данные через FTP.
Установка службы FTP
- Откройте меню "Добавить удаление программ" и выберите "Добавить и удалить компоненты Windows".
- Выберите Службы IIS (сервер приложений в Windows 2003) и щелкните Сведения.
- Установите флажок Служба протокола передачи файлов (FTP) и нажмите кнопку ОК.
- Нажмите кнопку Далее , чтобы установить службу FTP.
Создание новой папки для содержимого
- В Windows Обозреватель создайте папку с именем User1 в папке c:/inetpub/wwwroot.
Настройка папок и разрешений для папок.
- Откройте оснастку "Службы IIS" в разделе "Администрирование". Теперь у вас будет папка FTP Sites в узле имени компьютера.
- Разверните узел FTP-сайты.
- Щелкните правой кнопкой мыши ftp-сайт по умолчанию, выберите Создать, Затем Виртуальный каталог и нажмите кнопку Далее.
- Введите User1 в поле имя виртуального каталога и нажмите кнопку Далее.
- Введите путь c:/inetpub/wwwroot/User1 и нажмите кнопку Далее.
- Нажмите кнопку Далее , а затем — Готово , чтобы завершить работу мастера.
- Щелкните правой кнопкой мыши виртуальный каталог User1 в разделе Ftp-сайт по умолчанию и выберите Свойства.
- Установите флажок Записать и нажмите кнопку ОК , чтобы закрыть диалоговое окно.
- Щелкните правой кнопкой мыши ftp-сайт по умолчанию и выберите Свойства.
- На вкладке Учетные записи безопасности снимите флажок Разрешить анонимные подключения.
- Нажмите кнопку Да в диалоговом окне с вопросом о том, хотите ли вы продолжить.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно.
- Разверните веб-сайт по умолчанию в узле Веб-сайты .
- Щелкните правой кнопкой мыши каталог User1 и выберите Свойства.
- В разделе Параметры приложения нажмите кнопку Создать , чтобы пометить папку как приложение.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно.
- Закройте оснастку "Службы IIS".
Создание веб-проекта
- Откройте Visual Studio 2005.
- В меню Файл выберите Создать веб-сайт.
- В раскрывающемся списке Расположение выберите FTP.
- Нажмите кнопку Обзор.
- В текстовом поле Сервер введите localhost.
- В текстовом поле Каталог введите User1 .
- Нажмите кнопку Открыть. Расположение FTP будет указано в диалоговом окне Новый веб-сайт.
- Нажмите кнопку ОК.
- Снимите флажок Анонимный вход в диалоговом окне Вход в FTP, введите учетные данные и нажмите кнопку ОК.
- Какой URL-адрес проекта? (URL-адрес проекта будет отображаться в Обозреватель решений.)
- В меню Сборка выберите Сборка веб-сайта или Сборка решения.
- Щелкните правой кнопкой мыши Default.aspx в Обозреватель решений и выберите Просмотр в браузере.
- В диалоговом окне Обязательный URL-адрес веб-сайта введите
http://localhost/user1
URL-адрес и нажмите кнопку ОК.
Примечание
Если возникает ошибка, указывающая на невозможность загрузки типа /_Default, убедитесь, что вы используете ASP.NET 2.0 на веб-сайте, а не более ранней версии. Это можно сделать на вкладке ASP.NET в службах IIS.
Открытие веб-проектов
Открытие веб-проектов аналогично созданию проектов. В следующих разделах описываются области, за которыми следует следить при работе в интегрированной среде разработки. В нем также рассматривается работа с веб-проектами с использованием HTTP и FTP.
Чтобы открыть веб-проект, выберите Открыть веб-сайт в меню Файл. Вам будет предложено использовать то же диалоговое окно Выбора расположения, описанное ранее, и у вас есть те же четыре варианта: файловая система, локальные службы IIS, FTP и удаленный сайт.
Файловая система
Как упоминалось ранее в этом модуле, Visual Studio больше не использует файл проекта. Таким образом, если вы решили открыть веб-сайт из файловой системы, вы можете выбрать любую папку, даже если выбранная папка не была создана как веб-проект изначально в Visual Studio. Например, вы можете открыть папку "Мои документы" в качестве веб-сайта, и Visual Studio с радостью откроет ее и отобразит ваши файлы, как показано ниже.
Рис. 6. Мои документы , открытые как веб-сайт
Так как Visual Studio создает дополнительные файлы и папки только при необходимости, дополнительные файлы или папки не добавляются в открываемое расположение. Побочным эффектом этой архитектуры является то, что она не позволяет вложить веб-сайты в файловую систему. Например, рассмотрим следующую структуру каталогов.
Веб-проект на сайте C:/MyWebSite
Другой веб-проект на сайте C:/MyWebSite/Nested
При открытии веб-сайта по адресу c:/MyWebSite вложенная папка будет отображаться как вложенная папка этого приложения.
HTTP
При открытии веб-сайтов по протоколу HTTP параметры считываются из метабазы IIS (локальные службы IIS) или с помощью серверных расширений FrontPage (удаленный сайт). Если есть вложенные веб-приложения, они также отображаются со значком, определяющим их как приложение. Если вы знакомы с работой с веб-приложениями в FrontPage, поведение в Visual Studio 2005 аналогичное.
Несмотря на то, что Visual Studio отображает значок для приложений, вложенных под приложением, которое в настоящее время открыто в интегрированной среде разработки, вы не сможете развернуть их, чтобы увидеть их содержимое. Однако вы можете дважды щелкнуть их, чтобы открыть их. После этого появится диалоговое окно с предложением открыть веб-приложение (и заменить открытое в данный момент решение) или добавить веб-приложение в текущее решение.
Рис. 7. Дважды щелкнув значок вложенного приложения, вы увидите это диалоговое окно
FTP-сайт
При открытии сайта через FTP все файлы копируются локально во временную папку. Полный путь к расположению локального хранилища отображается в области Свойства проекта и создается в следующем формате.
C:/Documents and Settings/<User>/Local Settings/Temp/VWDWebCache/<Server>/_<application name>
При использовании FTP Visual Studio потребуется указать базовый URL-адрес проекта, чтобы его можно было просмотреть, как показано ниже. Если базовый URL-адрес не указан, Visual Studio запросит его при первой попытке просмотра страницы на веб-сайте.
Рис. 8. Указание базового URL-адреса для сайтов FTP
Улучшения в компиляции
Работа с веб-приложениями в Visual Studio 2005 выполняется заметно быстрее, чем в предыдущих версиях. Это в немалой части связано с изменениями в архитектуре компиляции.
В Visual Studio 2002 и 2003 веб-приложения компилировались в одну основную сборку, размещенную в папке /bin. В Visual Studio 2005 добавлена папка App/_Code. Классы и другой код, отличный от пользовательского интерфейса, добавляются в папку App/_Code. Когда Visual Studio создает проект, все файлы в папке App/_Code компилируются в один файл app/_Code.dll. Результатом этого изменения является то, что последующие сборки выполняются гораздо быстрее, чем в предыдущих версиях.
Примечание
Служебную программу командной строки MSBuild можно также использовать для сборки ASP.NET веб-приложений. Этот инструмент будет рассматриваться в модуле 9.
Еще одним улучшением компиляции является новый параметр "Страница сборки" в меню Сборка. Эта функция позволяет разработчику перестраивать только текущую страницу (а также, конечно, и зависимости), чтобы изменения можно было скомпилировать быстрее. Так как C# не предлагает фоновую компиляцию для обновления IntelliSense и т. д., эта функция будет очень полезна, так как она позволит быстро обновить IntelliSense, просто перестроив одну страницу.
Свойства Сборка для проекта позволяют настроить тип сборки, выполняемой перед выполнением начальной страницы. Разработчики могут создавать только текущую страницу, чтобы Visual Studio быстрее приступать к отладке приложений после изменения кода.
Рис. 9. Действие запуска страницы сборки
Еще одно важное улучшение Visual Studio и архитектуры ASP.NET заключается в том, чтобы изменить и продолжить. В Visual Studio 2005 разработчики могут начать отладку проекта и вносить изменения в код проекта, не отключая отладчик. Фактически вы можете буквально начать отладку проекта, добавить новый класс, добавить код в этот класс, добавить код на страницу, которая создает новый экземпляр этого класса и выполнить метод класса , и все это без отсоединения отладчика. Выполнить новый код буквально так же просто, как обновить браузер!
Щелкните здесь, чтобы просмотреть видео пошаговое руководство по функции "Изменить и продолжить" в Visual Studio 2005.
Надежные функции редактирования и продолжения в ASP.NET 2.0 и Visual Studio 2005 связаны с изменением архитектуры для ASP.NET приложений. В ASP.NET 1.x приложения, созданные в Visual Studio 2002/2003, были скомпилированы в основную сборку, хранящуюся в папке /bin. Все классы, страницы и т. д. для приложения были скомпилированы в одну библиотеку DLL. Затем во время выполнения ASP.NET компилирует все элементы управления, разметку и ASP.NET код на страницах и копирует эти библиотеки DLL во временную папку ASP.NET.
В Visual Studio 2005, использующий ASP.NET 2.0, две модели компиляции, описанные выше (одна для Visual Studio и одна для ASP.NET во время выполнения) были объединены в одну общую модель компиляции. Это означает, что все проблемы компиляции теперь перехватываются на этапе разработки, а не во время выполнения. Она также обеспечивает поддержку конструктора и IntelliSense для таких функций, как пользовательские элементы управления и страницы master.
Щелкните здесь, чтобы просмотреть видео пошаговое руководство по поддержке конструктора для пользовательских элементов управления.
Примечание
При удалении пользовательского элемента управления со страницы директива @Register остается в разметке и должна быть удалена вручную, чтобы избежать ошибок синтаксического анализа при удалении пользовательского элемента управления с веб-сайта.
Еще одним улучшением модели компиляции Visual Studio является функция публикации веб-сайта. Так как функция публикации предварительно компилирует веб-сайт, разработчики могут наслаждаться дополнительной производительностью, не компилировать что-либо по запросу. Он также предварительно компилирует весь исходный код в папке App/_Code в библиотеку DLL, чтобы не развертывать исходный код.
Рис. 10. Диалоговое окно "Публикация веб-сайта"
Примечание
Служебную программу aspnet/_compile.exe также можно использовать для предварительной компиляции веб-приложения ASP.NET. Этот инструмент будет рассматриваться в модуле 9.
При публикации веб-сайта предварительно скомпилированные файлы хранятся в папке Временные файлы ASP.NET, как показано ниже. Файлы с расширением .compiled — это XML-файлы, которые определяют зависимости для определенных библиотек DLL. Любые элементы управления веб-формы или пользовательские элементы управления компилируются в случайные библиотеки DLL, которые начинаются с App/Web/.
Если оставить флажок Разрешить обновлять этот предварительно скомпилированный сайт , разметка внутри веб-форм и пользовательских элементов управления не будет предварительно скомпилирована в библиотеку DLL, позволяющую вносить изменения после развертывания. Если вы хотите заблокировать разметку, чтобы изменения развернутого содержимого не допускались, снимите этот флажок.
Флажок Использовать фиксированное именование и одностраничные сборки позволяет отключить пакетную компиляцию, чтобы каждая страница компилировалась в сборку с фиксированным именем. Если оставить этот флажок снят, вы можете воспользоваться преимуществами пакетной компиляции.
Флажок Включить строгое именование для предварительно скомпилированных сборок позволяет использовать строгие имена предварительно скомпилированных сборок.
Примечание
В ASP.NET 1.x сборки со строгими именами должны были быть установлены в глобальный кэш сборок (GAC). В ASP.NET 2.0 не требуется устанавливать сборки со строгими именами в GAC.
Рис. 11. Предварительно скомпилированные файлы приложений ASP.NET
Примечание
В приведенном выше приложении не было web.config файла. Если бы он был, он был бы вызван PrecompiledApp.config после процесса публикации веб-сайта.
Улучшения в развертывании
Как и в Visual Studio 2002 и 2003, Visual Studio 2005 предлагает функцию копирования проекта. Однако эта функция была усилена в Visual Studio 2005 и теперь называется Копировать веб-сайт.
Диалоговое окно Копирование веб-сайта разделено на левый и правый фреймы. Левый фрейм называется исходным веб-сайтом, а правый — удаленным веб-сайтом. Одна вещь, которая может сбить с толку некоторых разработчиков, заключается в том, что сайт, отображаемый в правильном фрейме, не обязательно является удаленным сайтом. Это может быть сайт в локальной файловой системе или в локальном экземпляре IIS. Кроме того, сайт, отображаемый в левом фрейме, не обязательно является исходным веб-сайтом, так как диалоговое окно позволяет выполнять публикацию с удаленного веб-сайта на исходном веб-сайте.
При копировании проекта на удаленный веб-сайт на нем должны быть установлены серверные расширения FrontPage. Если это не так, необходимо подключиться по протоколу FTP. С другой стороны, при копировании проекта в локальный экземпляр IIS серверные расширения FrontPage не требуются.
Примечание
Если вы попытаетесь создать новый веб-сайт в локальном экземпляре IIS и установлены серверные расширения FrontPage 2002, появится сообщение об ошибке о том, что создание веб-сайтов не поддерживается на сервере SharePoint. В этом случае можно установить серверные расширения FrontPage 2000 или удалить серверные расширения FrontPage.
Щелкните здесь, чтобы ознакомиться с пошаговым видео о функции копирования веб-сайта.
Улучшения в отладке
Существует четыре основных улучшения отладки в Visual Studio 2005.
- Отладка локально от имени без прав администратора возможна по умолчанию.
- Теперь атрибут Debug для элемента Компиляция по умолчанию имеет значение false.
- Настройка и настройка удаленной отладки проще, чем раньше.
- Теперь можно отлаживать веб-сайт, открытый через ftp-расположение.
Отладка от имени без прав администратора
Добавление сервера разработки ASP.NET позволяет неадминистраторам легко выполнять отладку ASP.NET приложений прямо из коробки. При отладке приложения ASP.NET, работающего в локальной файловой системе, Visual Studio запускает сервер ASP.NET Development Server в контексте вошедшего в систему пользователя. Затем этот пользователь может отлаживать это приложение без дополнительной настройки.
Отладка имеет значение False по умолчанию
В ASP.NET 1.x атрибут debug в элементе компиляции файла web.config по умолчанию был задан как true . Разработчики всегда рекомендовали установить для этого атрибута значение false перед развертыванием приложения в рабочей среде, но так как большинство разработчиков не в полной мере понимают последствия оставления атрибута отладки равным true, они просто оставили его как есть.
Самая серьезная проблема, связанная с тем, что атрибут отладки имеет значение true, заключается в том, что он отключает ASP. Модель пакетной компиляции NETs. Поэтому каждая страница компилируется в отдельную библиотеку DLL. Если веб-приложение состоит из тысяч страниц (ни в коем случае не неслыханных), это означает, что это приложение создаст несколько тысяч небольших библиотек DLL. Хотя эти библиотеки DLL имеют небольшой размер, они не загружаются в определенное расположение в памяти. Таким образом, они вызывают фрагментацию в системной памяти и могут способствовать вхождению OutOfMemoryException.
В ASP.NET 2.0 атрибут отладки по умолчанию имеет значение false. Как вы уже видели, при отладке приложения ASP.NET в Visual Studio 2005 разработчику предлагается добавить файл web.config с включенной отладкой. При этом возникают те же недостатки, которые присутствовали в ASP.NET 1.x, но теперь разработчик четко предупреждает, что перед перемещением приложения в рабочую среду атрибуту необходимо сбросить значение false.
Настройка и настройка удаленной отладки
В Visual Studio 2002/2003 удаленная отладка зависела от диспетчера отладки компьютера (mdm.exe) и процесса vs7jit.exe. Из-за этого устранение неполадок удаленной отладки часто было черным ящиком для клиентов, и зачастую это не намного лучше для PSS.
Visual Studio 2005 устраняет зависимость от процессов mdm.exe и vs7jit.exe. Вместо этого теперь используется служба монитора удаленной отладки (msvsmon.exe.)
Требование удаленной отладки в Visual Studio 2005 довольно простое. Перед отладкой необходимо запустить msvsmon.exe на удаленном сервере. Монитор удаленной отладки можно установить с компакт-диска Visual Studio или просто запустить msvsmon.exe из общей папки, не устанавливая ничего на веб-сервере.
При запуске msvsmon.exe, скорее всего, он будет жаловаться на блокировку портов для удаленной отладки. К счастью, вы можете легко разблокировать порты прямо в диалоговом окне предупреждения, как показано ниже.
Рис. 12. Уведомление о том, что брандмауэр Windows блокирует удаленную отладку
Разблокируя порты, необходимые для отладки, вы увидите монитор удаленной отладки, как показано ниже. С помощью этого интерфейса можно легко отслеживать подключения и изменять разрешения отладки.
Рис. 13. Монитор удаленной отладки
Также можно выполнить удаленную отладку веб-приложения, открытого через FTP. Действия аналогичны описанным ранее действиям. Однако вам потребуется указать базовый URL-адрес для просмотра проекта FTP, как описано ранее в этом модуле.
Лабораторная работа 2
Удаленная отладка с помощью Visual Studio 2005
В этом задании вы узнаете, как выполнить удаленную отладку с помощью Visual Studio 2005.
Щелкните здесь, чтобы ознакомиться с видео пошаговым руководством по этой лаборатории.
Для этого задания требуется два компьютера, на одном из которых выполняется Visual Studio 2005, а на другом — IIS 5 или более поздней версии.
- Откройте Visual Studio 2005 и создайте новый веб-сайт на удаленном сервере.
Примечание
Веб-сайт можно создать на удаленном экземпляре IIS или через FTP.
- На удаленном веб-сервере найдите msvsmon.exe на компьютере разработки, используя UNC-путь, и выполните его.
Расположение по умолчанию для msvsmon.exe — //server/c$/Program Files/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86. - Если появится запрос на разблокировку портов для удаленной отладки, сделайте это.
- На компьютере разработки откройте код программной части для Default.aspx и установите точку останова в методе Page/_Load.
- Начните отладку с компьютера разработки.
Вы должны попасть в точку останова, как ожидалось.
Запуск сервера разработки ASP.NET
Как мы уже говорили, Visual Studio 2005 поставляется с веб-сервером, который называется сервером разработки ASP.NET. (Сервер разработки ASP.NET иногда называют Cassini.) Этот веб-сервер является удобным средством для просмотра и отладки веб-приложений, работающих в файловой системе.
Сервер разработки ASP.NET является веб-сервером с ограниченным доступом. Он не разрешает удаленные подключения, он не разрешает никаких запросов от любого пользователя, кроме пользователя, который запустил веб-сервер. Кроме того, он не может обслуживать страницы ASP. Обслуживаются только ASP.NET ресурсы и РЕСУРСЫ HTML (включая изображения, CSS-файлы и т. д.).
Сервер разработки ASP.NET можно запустить с помощью командной строки, запустив файл WebDev.WebServer.exe, расположенный по адресу c:/Windows/Microsoft.NET/Framework/v2.0./////*. В следующем диалоговом окне отображаются доступные параметры.
Рис. 14
Примечание
Сервер разработки ASP.NET не поддерживается при явном запуске через командную строку.