Проекты ASP.NET в Visual Studio 2010

137

Имея дело с ASP.NET, для разработки веб-приложений на выбор доступно несколько вариантов. При желании (если вы не боитесь работы) можно написать код для каждой веб-страницы и класса вручную в обычном текстовом редакторе. Такой подход довольно прямолинеен, но требует значительных усилий и чреват допущением ошибок в случае сложных страниц. Поэтому профессиональные разработчики ASP.NET редко к нему прибегают.

Вместо этого почти все крупномасштабные веб-сайты ASP.NET создаются с помощью Visual Studio.

В состав этого профессионального средства для разработки входит развитый набор инструментов для проектирования, в том числе легендарные инструменты для отладки и механизм IntelliSense, способный перехватывать ошибки и предлагать варианты по мере ввода. Кроме того, в Visual Studio поддерживается мощная модель отделенного кода, которая позволяет разделять создаваемый код .NET и дескрипторы разметки веб-страницы. И, наконец, в Visual Studio имеет встроенный тестовый вебсервер, который значительно упрощает процесс отладки веб-сайтов.

Хотя в Visual Studio 2010 используется та же самая базовая модель, что и в предыдущих версиях, она была значительно переделана. В действительности версия Visual Studio 2010 была полностью переписана с использованием WPF (технология создания пользовательских интерфейсов на базе .NET от Microsoft) и в результате получила более чистый и современный интерфейс.

Большая часть изменений относится к таким деталям, как меньшая степень загромождения экрана и улучшенная функция IntelliSense. Но разработчики, имеющие дело с WPF или Silverlight, получили в свое распоряжение столь долгожданный визуальный конструктор, который позволяет строить пользовательский интерфейс за счет перетаскивания нужных элементов управления из панели Toolbox точно так же, как при работе со страницами ASP.NET.

Ознакомление с Visual Studio

Написание и компиляция кода вручную было бы утомительным делом для любого разработчика. К счастью, IDE-среда Visual Studio предлагает набор высокоуровневых функциональных возможностей, которые выходят за рамки базового управления кодом.

Ниже перечислены основные преимущества IDE-среды Visual Studio:

Наличие встроенного веб-сервера

Для обслуживания веб-приложения ASP.NET необходим веб-сервер, подобный IIS, который будет ожидать веб-запросы и обрабатывать соответствующие страницы.

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

Поддержка использования множества языков для разработки

Visual Studio позволяет писать код на своем языке или любых других предпочитаемых языках, используя все время один и тот же интерфейс (IDE).

Более того, Visual Studio также еще позволяет создавать веб-страницы на разных языках, но помещать их все в один и тот же веб-сайт. Существуют лишь два ограничения, о которых следует помнить: не использовать более одного языка в одной и той же веб-странице (что может вызвать очевидные проблемы на этапе компиляции) и обязательно применять модель веб-сайта без проекта (а не веб-проект).

Меньше кода для написания

Для создания большинства приложений требуется приличное количество стандартного стереотипного кода, и веб-страницы ASP.NET тому не исключение.

Например, добавление веб-элемента управления, присоединение обработчиков событий и корректировка форматирования требует установки в разметке страницы ряда деталей. В Visual Studio такие детали устанавливаются автоматически.

Интуитивно понятный стиль кодирования

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

Применяемые Visual Studio автоматически параметры форматирования можно даже настраивать, что очень удобно в случаях, когда разработчик предпочитает другой стиль размещения скобок (например, стиль Кернигана и Ритчи, при котором открывающая скобка размещается на той же строке, что и объявление, которому она предшествует).

Изменить параметры форматирования в Visual Studio можно, выбрав в меню Tools (Сервис) пункт Options (Параметры) и затем просмотреть группы параметров Text Editor --> C# --> Formatting (Текстовый редактор --> C# --> Форматирование). Среди них будут и параметры, отвечающие за место размещения фигурных скобок.

Более высокая скорость разработки

Многие из функциональных возможностей Visual Studio направлены на то, чтобы помочь разработчику делать свою работу как можно быстрее.

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

Возможности отладки

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

В Visual Studio также имеется и множество других функциональных возможностей, о которых не будет рассказываться: управление проектом; встроенная функция управления исходным кодом; рефакторинг кода; мощная модель расширяемости. Более того, в случае использования Visual Studio 2010 Team System разработчик получает расширенные средства для модульного тестирования, совместной работы и управления версиями кода (что значительно больше того, что предлагается в более простых инструментах вроде Visual SourceSafe). Всю необходимую информацию можно найти по адресу http://msdn.microsoft.com/teamsystem.

Веб-сайты и веб-проекты

В Visual Studio поддерживаются два пути создания веб-приложений на базе ASP.NET, которые иногда приводят к некоторой путанице:

Разработка на основе проекта

При создании веб-проекта в Visual Studio генерируется файл проекта с расширением .csproj (при условии, что код пишется на языке C#), в котором фиксируется информация обо всех включаемых в состав проекта файлах и сохраняются кое-какие отладочные параметры. При запуске веб-проекта перед открытием веб-браузера Visual Studio сначала компилирует весь написанный код в одну сборку.

Разработка без использования проекта

Это альтернативный подход, который подразумевает создание просто веб-сайта безо всякого файла проекта.

При таком подходе Visual Studio предполагает, что каждый файл в каталоге веб-сайта (и всех его подкаталогах) является частью веб-приложения. В этом случае Visual Studio не требуется предварительно компилировать код. Вместо этого ASP.NET компилирует уже сам веб-сайт при первом запросе какой-нибудь входящей в его состав страницы.

Разумеется, разработчик может применить предварительную компиляцию и устранить связанные с первым запросом непроизводительные издержки для развертываемого веб-приложения.

В первой версии Visual Studio для .NET использовалась модель разработки на основе проекта. В Visual Studio 2005 эта модель была удалена и заменена разработкой без использования проекта. Однако это вызвало возмущение среди разработчиков.

Осознав, что для определенных сценариев все-таки больше подходила проектная разработка, Microsoft выпустила доступный для загрузки пакет, который возвращал в Visual Studio 2005 опцию проектной модели. В версии Visual Studio 2010 поддерживаются оба подхода.

Создание веб-сайта без использования проекта

Чтобы сразу же приступить к работе и создать новое веб-приложение, выберите в меню File (Файл) пункт New --> Website (Создать Веб-узел). Откроется диалоговое окно New Web Site, показанное на рисунке:

Окно New Web Site

Для создания нового веб-сайта необходимо выбирать язык разработки (слева), версию .NET (посередине вверху), шаблон веб-сайта (в середине) и место размещения (внизу).

Каждая деталь более подробно описана в следующих разделах.

Язык разработки

Под этим подразумевается язык программирования .NET, который будет использоваться для написания кода веб-сайта. Выбранный язык просто назначается для проекта языком по умолчанию. Это значит, что можно явно добавлять веб-страницы на Visual Basic к веб-сайту на C# и наоборот.

Версия .NET

Прежние версии Visual Studio были тесно связаны с конкретными версиями .NET. Так, например, Visual Studio .NET можно было применять только для создания приложений .NET 1.0, Visual Studio 2003 — только для приложений .NET 1.1, a Visual Studio 2005 — для приложений .NET 2.O.

В версии Visual Studio 2008 это ограничение было устранено и стало возможно выбирать в качестве целевой любую версию .NET. В Visual Studio 2010 эта тенденция была продолжена. В этой последней версии теперь можно создавать веб-приложения, ориентированные на работу с такими версиями, как NET 2.0, .NET 3.0, .NET 3.5 и .NET 4.

Обычно следует выбирать версию, которая поддерживается на используемом веб-сервере. Более поздние версии предоставляют доступ к новейшим функциональным возможностям.

Разумеется, на одном веб-сервере можно установить сразу несколько версий .NET и сконфигурировать разные виртуальные каталоги на использование различных версий ASP.NET.

Для поддержки множества целевых платформ в Visual Studio 2010 включены ссылочные сборки для каждой версии .NET. Такие сборки содержат метаданные для каждого типа, но не код их реализации.

Это означает, что Visual Studio 2010 может использовать упомянутые сборки для подстройки списка IntelliSense и проверки на предмет ошибок, не давая возможности пользоваться элементами управления, классами или членами, которые недоступны в выбранной целевой версии .NET. Эти метаданные также могут применяться для определения того, какие элементы управления должны присутствовать в панели Toolbox (Элементы управления), какие члены должны отображаться в окне Properties (Свойства) и Object Browser (Браузер объектов) и т.д. В результате вся IDE-среда будет ограничена выбранной версией .NET.

Изменить целевую версию .NET можно даже после создания веб-сайта. Для этого выполните следующие шаги:

В случае веб-проекта этот процесс выглядит несколько иначе. В окне Solution Explorer дважды щелкните на узле Properties (Свойства) и перейдите на вкладку Application (Приложение). Эта вкладка содержит список Target Framework (Целевая платформа), в котором можно выбрать желаемую версию .NET.

При изменении версии .NET среда Visual Studio существенно модифицирует соответствующий файл web.config. Например, этот файл для приложения .NET 4 имеет довольно короткий и простой вид, поскольку все необходимые низкоуровневые детали устанавливаются в корневом файле web.config самого компьютера. Однако для приложения .NET 3.5 файл web.config содержит приличный объем дополнительного кода, который явно включает поддержку Ajax и функциональных средств C# 3.5.

Шаблон

После выбора языка (в списке слева) появляется список всех шаблонов, предоставляемых Visual Studio для этого языка (в большой области в центре). Каждый шаблон определяет то, с каких файлов будет начинаться создание веб-сайта.

В Visual Studio поддерживается несколько типов приложений ASP.NET, но все они компилируются и выполняются одинаково. Единственное, чем они отличаются, так это тем, какие файлы для них создаются в Visual Studio по умолчанию. Например, в случае создания приложения типа WCF Service (Служба WCF) в Visual Studio генерируется веб-сайт, в котором изначально содержится только одна служба WCF, а не веб-страница ASP.NET.

Ниже приведено краткое описание всех доступных шаблонов:

ASP.NET Web Site (Веб-узел ASP.NET)

Создается полнофункциональный веб-сайт ASP.NET с готовой базовой инфраструктурой. Этот веб-сайт включает главную страницу с общей компоновкой (верхним колонтитулом, нижними колонтитулом и строкой меню) и готовые страницы default.aspx и about.aspx.

Также он содержит папку Accounts (Учетные записи) со страницами для регистрации, входа в систему и смены пароля и папку Scripts (Сценарии) с библиотекой jQuery для клиентских сценариев JavaScript.

ASP.NET Empty Web Site (Пустой веб-сайт ASP.NET)

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

Если вы — новичок в мире ASP.NET, лучше начинайте с выбора шаблона ASP.NET Empty Web Site. Освоив функциональные средства, подобные мастер-страницам и членству, можно будет перейти на применение несколько более сложного шаблона ASP.NET Web Site, если он отвечает существующим потребностям.

ASP.NET Dynamic Data Entities Web Site (Веб-сайт сущностей динамических данных ASP.NET)

Создается веб-сайт ASP.NET, использующий компонент ASP.NET Dynamic Data. Этот веб-сайт ориентирован на применение сущностной модели (Entity Model) для доступа к серверной базе данных, в то время как шаблон со схожим именем ASP.NET Dynamic Data LINQ to SQL Web Site предусматривает использование для этого более старого подхода LINQ to SQL.

WCF Service (Служба WCF)

Создается служба WCF — библиотека серверных методов, которые удаленные клиенты (например, Windows-приложения) могут вызывать.

ASP.NET Reports Web Site (Веб-узел отчетов ASP.NET)

Создается веб-сайт ASP.NET с элементом управления ReportView и компонентом SQL Server Reporting Services - инструмент для генерации отчетов по базам данных, которые можно просматривать и обрабатывать через Интернет. Шаблон ASP.NET Crystal Reports Web Site (Веб-сайт ASP.NET с Crystal Reports) обеспечивает похожие возможности, но с использованием программного обеспечения Crystal Reports.

Хотя большинство разработчиков предпочитает выбирать сначала шаблон ASP.NET Empty Web Site или ASP.NET Web Site и приступать к написанию кода, доступно множество специализированных шаблонов, предназначенных для создания веб-приложений конкретных типов.

Чтобы просмотреть их, щелкните на заголовке Online Templates (Шаблоны в Интернете) в левом крайнем углу диалогового окна New Web Site. Через некоторое время, необходимое для установления связи с веб-серверами Microsoft, добавляется список различных подкатегорий, каждая с собственной группой готовых шаблонов.

Например, разработчики ASP.NET могут загрузить из этого списка шаблон для создания веб-сайта DotNetNuke (который использует популярную платформу для создания порталов DotNetNuke) или веб-сайта ASP.NET MVC (который применяет OpenID для аутентификации пользователей).

Место размещения

Место размещения отвечает за то, где будут храниться файлы веб-сайта. Обычно выбирается вариант File System (Файловая система) и затем указывается либо папка на локальном компьютере, либо сетевой путь.

Однако веб-сайт также допускается редактировать и непосредственно через HTTP или FTP (File Transfer Protocol — протокол передачи файлов). Такой подход иногда удобен, когда требуется "вживую" выполнять редактирование веб-сайта на удаленном веб-сервере. С другой стороны, он влечет за собой дополнительные накладные расходы. Конечно, производить редактирование напрямую на производственном сервере не следует никогда, поскольку такие изменения являются автоматическими и необратимыми. Вместо этого лучше ограничивать свои изменения только тестовыми серверами.

Если просто нужно создать свой проект в какой-то папке внутри файловой системы, можно ввести имя этой папки в поле Location (Размещение) вручную. Но если интересуют все возможные варианты для определения подходящего места, щелкните на кнопке Browse (Обзор). Откроется диалоговое окно Choose Location (Выбор размещения). В левой части этого окна есть четыре кнопки, позволяющие выбирать различные варианты для размещения файлов.

Пройди тесты
Лучший чат для C# программистов