Улучшения в 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 Сервер разработки. (Этот веб-сервер ранее был известен как 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 отменяет необходимость в файле проекта. Вместо этого он считывает сведения о файле и папке непосредственно с диска, что приводит к точному отображению файлов в проекте. Так как папка "Ссылки" в Visual Studio 2002 и 2003 не представляет фактическую папку в веб-приложении, Visual Studio 2005 также удаляет папку "Ссылки" из обозревателя решений. Чтобы получить доступ к ссылкам для проекта в 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: Local IIS и Remote Site. Основное отличие этих двух параметров — это метод, в котором сведения о веб-сайте отображаются в диалоговом окне выбора расположения и в том, как файлы копируются на веб-сервер.

Параметр Local IIS считывает сведения о сайте из метабазы на локальном компьютере, а файлы копируются с помощью файловой системы. Опция удаленного сайта использует расширения сервера FrontPage, а сведения о сайте и файлы копируются с помощью HTTP и вызовов RPC расширений сервера FrontPage.

Замечание

Файл vs####/_tmp.htm и get/_aspx/_ver.aspx больше не используются для определения сведений о версии.

Параметр HTTP по умолчанию — Local IIS. Этот параметр считывает метабазу IIS, чтобы определить, какие сайты доступны и в каком расположении нужно создать содержимое. Вы можете выбрать другую папку или виртуальный каталог, выбрав ее в представлении дерева. Вы также можете создать новый виртуальный каталог, пометить папки как приложения, а также удалить существующие виртуальные каталоги из этого диалогового окна.

Диалоговое окно выбора расположения

Рис. 1. Диалоговое окно выбора расположения

В отличие от предыдущих версий Visual Studio, если установлен флажок «Использовать уровень безопасных сокетов» и SSL-сертификат не соответствует просматриваемому URL, появится диалоговое окно "Оповещение системы безопасности" с вопросом, хотите ли вы продолжить. При использовании Visual Studio .NET 2003, если сертификат не подходил, создание проекта завершится неудачей.

Оповещение системы безопасности относительно SSL-сертификата

Рис. 2. Оповещение системы безопасности относительно SSL-сертификата

Примечание к заголовкам хоста

Если вы создаете веб-приложение на сайте, привязанном к конкретному IP-адресу, необходимо убедиться, что заголовок узла настроен. В противном случае Visual Studio создаст сайт по адресу http://localhost, но IP-адрес не будет разрешаться правильно при просмотре или отладке непосредственно в интегрированной среде разработки.

Если выбрать параметр удаленного сайта, диалоговое окно изменится, чтобы разрешить ввести целевой URL-адрес для нового веб-сайта. Этот URL-адрес должен находиться на сервере с включенными расширениями сервера FrontPage. Если вы хотите работать с локальным веб-сервером с помощью расширений сервера FrontPage, можно использовать параметр удаленного сайта и указать локальный URL-адрес.

Создание веб-сайта на удаленном сервере

Рис. 3. Создание веб-сайта на удаленном сервере

При создании приложения на удаленном сайте через SSL, если SSL-сертификат не соответствует, диалоговое окно подтверждения немного отличается от диалогового окна, отображаемого при использовании параметра "Локальные службы IIS".

Оповещение системы безопасности удаленного сайта

Рис. 4. Оповещение о безопасности удаленного сайта

FTP

Visual Studio 2005 представляет возможность создания веб-сайтов с помощью FTP. При использовании этого параметра интегрированная среда разработки создает файлы локально в временной папке пользователей, а затем использует FTP для перемещения файлов в расположение FTP.

Замечание

Расположение папки temp — c:/Documents and Settings/<User>/Local Settings/Temp/VWDWebCache/<Server>/_<application name>

При использовании параметра FTP вы увидите диалоговое окно выбора расположения. В этом диалоговом окне введите необходимые сведения о подключении FTP, как показано ниже.

Диалоговое окно выбора расположения для FTP

Рис. 5. Диалоговое окно выбора расположения для FTP

Лаборатория: настройка FTP-сайта и создание проекта

Ниже описаны шаги настройки FTP-сайта так, чтобы у пользователя было уникальное расположение, в которое только он может загружать файлы через FTP.

Установка службы FTP

  1. Откройте окно "Добавить программы", выберите "Добавить и удалить компоненты Windows"
  2. Выберите службы Internet Information Services (Application Server в Windows 2003) и нажмите кнопку "Сведения".
  3. Проверьте службу протокола ПЕРЕДАЧи файлов (FTP) и нажмите кнопку "ОК".
  4. Нажмите кнопку "Далее ", чтобы установить службу FTP.

Создание новой папки для содержимого

  1. В проводнике Windows создайте папку User1 внутри C:/inetpub/wwwroot.

Настройте папки и разрешения для папок.

  1. Откройте оснастку служб Internet Information Services из средств администрирования. Теперь у вас будет папка FTP-сайтов под узлом имени компьютера.
  2. Разверните FTP-сайты.
  3. Щелкните правой кнопкой мыши FTP-сайт по умолчанию, выберите "Создать", а затем "Виртуальный каталог", а затем нажмите кнопку "Далее".
  4. Введите User1 для имени виртуального каталога и нажмите кнопку "Далее".
  5. Введите c:/inetpub/wwwroot/User1 для пути и нажмите кнопку "Далее".
  6. Нажмите кнопку "Далее ", а затем "Готово ", чтобы завершить работу мастера.
  7. Щелкните правой кнопкой мыши виртуальный каталог User1 в разделе "Сайт FTP по умолчанию" и выберите "Свойства".
  8. Установите флажок "Запись" и нажмите кнопку "ОК ", чтобы закрыть диалоговое окно.
  9. Щелкните правой кнопкой мыши FTP-сайт по умолчанию и выберите пункт "Свойства".
  10. На вкладке "Учетные записи безопасности" снимите флажок "Разрешить анонимные подключения".
  11. Нажмите кнопку "Да " в диалоговом окне с просьбой продолжить.
  12. Нажмите кнопку ОК , чтобы закрыть диалоговое окно.
  13. Разверните веб-сайт по умолчанию на узле веб-сайтов .
  14. Щелкните правой кнопкой мыши каталог User1 и выберите "Свойства"
  15. В разделе "Параметры приложения " нажмите кнопку "Создать ", чтобы пометить папку как приложение.
  16. Нажмите кнопку ОК , чтобы закрыть диалоговое окно.
  17. Закройте оснастку интернет-служб.

Создание веб-проекта

  1. Откройте Visual Studio 2005.
  2. В меню "Файл" выберите новый веб-сайт.
  3. В раскрывающемся списке "Расположение" выберите FTP.
  4. Нажмите кнопку "Обзор".
  5. Введите localhost в текстовое поле сервера .
  6. Введите User1 в текстовом поле каталога.
  7. Нажмите кнопку Open (Открыть). Расположение FTP будет введено в диалоговом окне "Новый веб-сайт".
  8. Нажмите кнопку ОК.
  9. Снимите флажок "Анонимный вход" в диалоговом окне "Вход в FTP", введите свои учетные данные и нажмите кнопку "ОК".
  10. Что такое URL-адрес проекта? (URL-адрес проекта будет отображаться в обозревателе решений.)
  11. В меню "Сборка" выберите "Собрать веб-сайт" или "Собрать решение".
  12. Щелкните правой кнопкой мыши Default.aspx в обозревателе решений и выберите "Вид" в браузере.
  13. В диалоговом окне "Обязательный URL-адрес веб-сайта" введите http://localhost/user1 URL-адрес и нажмите кнопку "ОК".

Замечание

Если возникает ошибка, указывающая на неспособность загрузить тип /_Default, убедитесь, что на веб-сайте запущена ASP.NET 2.0, а не более ранняя версия. Это можно сделать на вкладке ASP.NET в службах Internet Information Services.

Открытие веб-проектов

Открытие веб-проектов аналогично созданию проектов. В следующих разделах указаны области, на которые следует обратить внимание при работе в интегрированной среде разработки. Он также охватывает работу с веб-проектами с помощью ПРОТОКОЛА 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 все файлы копируются локально в папку temp. Полный путь к расположению локального хранилища отображается в области свойств проекта и создается с помощью следующего формата.

C:/Documents and Settings/<User>/Local Settings/Temp/VWDWebCache/<Server>/_<application name>

При использовании FTP Visual Studio потребуется указать базовый URL-адрес проекта, чтобы просмотреть его, как показано ниже. Если вы не укажете базовый URL-адрес, Visual Studio попросит вас впервые просмотреть страницу на веб-сайте.

Указание базового URL-адреса для сайтов FTP

Рис. 8. Указание базового URL-адреса для сайтов FTP

Улучшения в компиляции

Работа с веб-приложениями в Visual Studio 2005 значительно быстрее, чем предыдущие версии. Это связано с изменениями архитектуры компиляции.

В Visual Studio 2002 и 2003 веб-приложения были скомпилированы в одну основную сборку, расположенную в папке /bin. В Visual Studio 2005 добавлена папка App/_Code. Классы и другой код, отличный от пользовательского интерфейса, добавляются в папку App/_Code. При сборке проекта все файлы в папке 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 для таких функций, как пользовательские элементы управления и главные страницы.

Щелкните здесь, чтобы просмотреть видеообзор поддержки дизайнером для пользовательских элементов управления.

Откройте видео на весь экран

Замечание

При удалении пользовательского элемента управления с страницы @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.

Предварительно скомпилированные файлы приложений ASP.NET

Рис. 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 в контексте пользователя, вошедшего в систему. Затем этот пользователь может отлаживать это приложение без дополнительной настройки.

Отладка установлена на False по умолчанию

В ASP.NET 1.x атрибут отладки в элементе компиляции файла web.config по умолчанию задано значение true . Всегда рекомендуется, чтобы разработчики установили этот атрибут на false перед развертыванием приложения в рабочей среде, но поскольку большинство разработчиков не полностью понимают последствия выхода атрибута отладки на значение true, они просто оставили его as-is.

Самая серьезная проблема при установке атрибута отладки в значение true заключается в том, что он отключает модель пакетной компиляции ASP.NET. Поэтому каждая страница компилируется в отдельную библиотеку 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. Из-за этого устранение неполадок при удаленной отладке часто представляло собой черный ящик для клиентов, и для сотрудников технической поддержки это было не намного лучше.

Visual Studio 2005 удаляет зависимость от процессов mdm.exe и vs7jit.exe. Вместо этого теперь она использует службу удаленного монитора отладки (msvsmon.exe.)

Требование удаленной отладки в Visual Studio 2005 довольно просто. Перед отладкой необходимо запустить msvsmon.exe на удаленном сервере. Вы можете установить монитор удаленной отладки из компакт-диска Visual Studio или просто запустить msvsmon.exe из общей папки, не устанавливая ничего на веб-сервере.

При запуске msvsmon.exe, вероятно, появится сообщение о том, что порты заблокированы для удаленной отладки. К счастью, вы можете легко разблокировать порты прямо в диалоговом окне предупреждения, как показано ниже.

Уведомление о том, что брандмауэр Windows блокирует удаленную отладку

Рис. 12. Уведомление о том, что брандмауэр Windows блокирует удаленную отладку

После разблокировки портов, необходимых для отладки, вы увидите монитор удаленной отладки, как показано ниже. В этом интерфейсе можно легко отслеживать подключения и изменять разрешения отладки.

Монитор удаленной отладки

Рис. 13. Монитор удаленной отладки

Кроме того, можно удаленно отлаживать веб-приложение, открытое через FTP. Эти шаги совпадают с описанными ранее. Однако необходимо указать базовый URL-адрес для просмотра проекта FTP, как описано ранее в этом модуле.

Лаборатория 2

Удаленная отладка с помощью Visual Studio 2005

Эта лаборатория поможет вам выполнить удаленную отладку с помощью Visual Studio 2005.

Щелкните здесь, чтобы посмотреть видео-обзор этой лаборатории.

Снимок экрана: пошаговое руководство по удаленной отладке в Visual Studio.

Откройте видео на весь экран

Для работы с этой лабораторией требуется два компьютера, один из которых работает Под управлением Visual Studio 2005, а другой — iis 5 или более поздней версии.

  1. Откройте Visual Studio 2005 и создайте веб-сайт на удаленном сервере.

Замечание

Веб-сайт можно создать на удаленном экземпляре IIS или через FTP.

  1. На удаленном веб-сервере найдите msvsmon.exe на компьютере разработки с помощью пути UNC и выполните его.
    Расположение по умолчанию для msvsmon.exe — //server/c$/Program Files/Microsoft Visual Studio 8/Common7/IDE/Remote Debugger/x86.
  2. Если появится запрос на разблокировку портов для удаленной отладки, сделайте это.
  3. На компьютере разработки откройте код для Default.aspx и установите точку останова в методе Page/_Load.
  4. Начните отладку с компьютера разработки.

Вы должны достигнуть точки останова, как и ожидалось.

Запуск сервера разработки 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./////*. В следующем диалоговом окне отображаются доступные параметры.

Снимок экрана: диалоговое окно Visual Studio с параметрами запуска сервера S P dot net Development server из командной строки.

Рис. 14

Замечание

Сервер разработки ASP.NET не поддерживается при явном запуске через командную строку.