Поделиться через


Веб-серверы в Visual Web Developer

Обновлен: Ноябрь 2007

В этом разделе описывается использование служб IIS или встроенного сервера ASP.NET Development Server для тестирования и запуска веб-узлов.

Для тестирования или запуска веб-приложений ASP.NET необходим веб-сервер. В качестве производственного веб-сервера для операционных систем Microsoft используется IIS, включающий веб-сервер, FTP-сервер, виртуальный почтовый сервер SMTP и другие средства. Чтобы запустить IIS, необходимо работать с версией Windows, предназначенной для использования в качестве сервера в сетевой среде. Это может быть Windows Server 2003 Web Edition.

В Windows 2000 Server и предыдущих версиях серверных операционных систем Windows по умолчанию IIS устанавливается как часть операционной системы. В Windows XP и Windows Server 2003 IIS не устанавливаются по умолчанию; но его можно добавить с помощью параметра Добавление/удаление компонентов Windows в окне Установка и удаление программ в панели управления. (В Windows Server 2003 можно установить IIS, используя компонент "Сервер приложений").

Использование IIS может оказаться нецелесообразным по следующим причинам:

  • Разработка веб-страниц ASP.NET ведется в операционной системе Windows XP Home Edition, которая не поддерживает IIS.

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

  • Корпоративная политика запрещает установку определенных серверных компонентов, таких как IIS.

Сервер ASP.NET Development Server

При невозможности или нежелательности использования IIS в качестве веб-сервера можно продолжать использовать сервер ASP.NET Development Server для тестирования страниц ASP.NET. Сервер ASP.NET Development Server, входящий в состав Visual Web Developer — это веб-сервер, работающий локально в операционных системах Windows, включая Windows XP Home Edition. Он специально создан для обслуживания или запуска веб-страниц ASP.NET в сценарии локального узла (просмотр с того же компьютера, что и веб-сервер). Другими словами, сервер ASP.NET Development Server обслуживает страницы для запросов обозревателя на локальном компьютере. Он не обслуживает страницы на другом компьютере. Кроме того, он не обслуживает файлы вне области определения приложения. Сервер ASP.NET Development Server обеспечивает эффективный способ локального тестирования страниц до публикации их на рабочем сервере под управлением IIS.

Сервер ASP.NET Development Server принимает только запросы на локальном компьютере, прошедшие проверку подлинности. Для этого сервер должен поддерживать проверку подлинности NTLM или обычную проверку подлинности.

58wxa9w5.alert_note(ru-ru,VS.90).gifПримечание.

Не рекомендуется запускать Visual Web Developer при входе в систему с правами администратора. Используйте учетную запись с более ограниченными правами. Это позволяет предотвратить случайный доступ к другим файлам на сервере.

Сервер ASP.NET Development Server работает только с отдельными страницами и не содержит дополнительные средства IIS. Например, ASP.NET Development Server не поддерживает почтовый сервер SMTP. Если веб-приложение используется для отправки сообщений электронной почты, то необходимо иметь доступ к виртуальному серверу IIS SMPT для тестирования электронной почты, поскольку сервер ASP.NET Development Server не может пересылать сообщения электронной почты или вызывать сервер, который может это сделать.

Запуск сервера ASP.NET Development Server

Сервер ASP.NET Development Server устанавливается по умолчанию при установке Visual Web Developer. При работе с веб-узлом файловой системы Visual Web Developer автоматически использует ASP.NET Development Server для запуска страниц. По умолчанию веб-сервер вызывается на случайно выбранном порту для сценария локального узла. Например, при тестировании страницы с именем ExamplePage.aspx, запущенной на сервере ASP.NET Development Server, URL-адрес страницы может быть следующим:

https://localhost:31544/ExamplePage.aspx

При закрытии обозревателя ASP.NET Development Server также завершает работу.

Чтобы запустить ASP.NET Development Server на определенном порту, можно настроить соответствующим образом сервер. Это можно сделать в следующих случаях:

  • Если код в приложении прослушивает определенный порт и требуется протестировать приложение, используя ASP.NET Development Server.

  • Если приложение содержит ссылку на клиентский проект или веб-службу, связанную с определенным портом.

Visual Web Developer не может гарантировать, что указанный порт будет доступен при запуске веб-узла файловой системы. Дополнительные сведения см. в разделе Пошаговое руководство. Указание порта сервера ASP.NET Development Server.

Контекст безопасности для ASP.NET Development Server

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

При запуске страницы с использованием ASP.NET Development Server страница выполняется в контексте текущей учетной записи пользователя. Например, при запуске страницы от имени пользователя с правами администратора страница, выполняемая на ASP.NET Development Server, получает административные привилегии. Напротив, в IIS ASP.NET по умолчанию запускается в контексте определенного пользователя (ASPNET или NETWORK Services), обычно имеющего ограниченные права. Учетные записи ASPNET или NETWORK Services являются локальными для сервера (не являются учетными записями домена), что позволяет ограничить доступ к ресурсам на других компьютерах.

При простом чтении и запуске кода на страницах ASP.NET это различие не очень важно. Однако различия в контекстах безопасности для двух веб-серверов могут повлиять на тестирование следующих параметров:

  • Доступ к другим ресурсам, необходимым для страницы   Суда может относиться чтение и запись файлов, отличных от веб-страниц, чтение и запись в системный реестр Windows и т. д.

  • Доступ к базам данных   При работе с ASP.NET Development Server для доступа к SQL Server обычно используют встроенную проверку подлинности Windows. Однако при запуске такой же страницы в IIS с использованием учетной записи ASP.NET или NETWORK SERVICES страница запускается в контексте локального пользователя. При этом часто приходится настраивать страницу для использования строки подключения, включающей сведения о пользователе и пароле. Дополнительные сведения см. в разделах Доступ к серверу SQL Server из веб-приложения и Архитектура безопасности ASP.NET.

  • Управлением доступом для кода   Если страница предполагает обращение к ресурсам, защищенным различными зонами, то страница может запускаться по-разному на ASP.NET Development Server и IIS.

Хотя можно использовать сервер ASP.NET Development Server для тестирования работы этих страниц, следует повторно их протестировать после публикации на производственном веб-сервере, где запущен IIS.

Авторизация файла на ASP.NET Development Server

На веб-узле файловой системы статические файлы, такие как изображения и таблицы стилей, подлежат авторизации ASP.NET. Например, невозможно предоставить статические файлы на веб-узле файловой системы анонимному пользователю при отключении анонимного доступа к этим файлам. Однако при создании проекта веб-узла по адресу HTTP IIS обслуживает статические файлы, не используя правила авторизации.

См. также

Задачи

Пошаговое руководство. Создание базовой веб-страницы в Visual Web Developer

Основные понятия

Веб-узлы на базе файловой системы