Сервер разработки ASP.NET или IIS Localhost? - PullRequest
26 голосов
/ 11 ноября 2008

В настоящее время наша команда разработчиков настроила все веб-сайты, над которыми они работают, в IIS на своей локальной машине. Мы подумываем о переходе на использование встроенного сервера разработки ASP.NET.

Это хорошая идея? Каковы плюсы / минусы использования ASP.NET Dev Server? Есть ли какие-то ошибки, о которых мы должны знать?

Спасибо.

Примечание: работает на Win XP / IIS 5 / VS2005

Edit:

Не понимал, что его называют Кассини .. Больше ответов на вопрос Кассини - IIS здесь .

Ответы [ 11 ]

32 голосов
/ 11 ноября 2008

ASP.NET Dev WebService не может ничего сделать, чего не может IIS (вы можете установить точки останова и т. Д., Просто подключив отладчик VS к среде выполнения ASP.NET).

Однако ASP.NET Dev WebService не представляет собой настоящую производственную среду, и поэтому вы можете попасть в ловушку, которую вы не ожидаете при развертывании в рабочей среде.

Из-за этого я обязуюсь, чтобы вся разработка осуществлялась с использованием IIS на локальной машине. Настройка сайта в IIS не займет много времени.

25 голосов
/ 11 ноября 2008

Это очень хорошая идея. Вот несколько причин для:

  • Вам больше не нужно нужен доступ администратора к вашему компьютеру для веб-разработки (он все еще может быть полезен).
  • Гораздо проще протестировать быстрое изменение и продолжить работу, а хороши более быстрые итерационные циклы .
  • Это может упростить настройку и развертывание сред разработки.
  • В версии IIS для XP есть ограничения, которых нет в версии Сервера, которую Кассини обходит стороной.

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

[Изменить]
Забыл про переписывание URL. Вам нужен IIS для этого. И пример ограничения встроенного XP IIS - это то, что вы ограничены одним сайтом в XP (может иметь несколько приложений, но это совсем другое).

5 голосов
/ 14 ноября 2008

Как я уже говорил здесь: /97781/kakovy-ne-preimuschestva-ispolzovaniya-cassini-vmesto-iis ваши разработчики должны знать, что Cassini работает как локальный пользователь, который обычно является учетной записью администратора для разработчиков. Разработчик сможет получить доступ к любому файлу или ресурсу, доступному их учетной записи, что весьма отличается от того, что они увидят на сервере IIS 6.

Другая вещь, которая довольно важна, заключается в том, что отладка веб-сервисов намного проще с использованием IIS и vdirs, а не отдельных экземпляров Cassini.

5 голосов
/ 11 ноября 2008

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

2 голосов
/ 11 ноября 2008

Я использовал оба метода и предпочитаю иметь IIS локально, а не встроенный сервер. По крайней мере, вы более согласны с окончательной настройкой развертывания.

2 голосов
/ 11 ноября 2008

Я знаю, что в какой-то момент у меня была проблема с Аутентификацией, которая не работает должным образом на Cassini (встроенный сервер разработки)

Кроме того, если вам нужно протестировать такие вещи, как плагины ISAPI (например, переписчик), я не уверен, как это делается на Cassini.

Постоянно меняющийся порт также довольно смущает меня. Кроме того, для каждого веб-проекта в вашем решении запускается еще один экземпляр сервера Casini, и каждый занимает от 20 до 50 МБ памяти.

Я все время использую IIS, его довольно легко настроить, и вы, ребята, уже делаете это ...

1 голос
/ 29 ноября 2012

В VS12 сервер разработки работает очень медленно, загрузка файла размером 2 КБ занимает несколько секунд. Этого не произошло в vs10. Когда у вас есть куча файлов jquery и css, это настоящая проблема. Также каждая страница запрашивает все файлы CSS / JS. Очень очень медленное регрессионное тестирование.

1 голос
/ 15 сентября 2012

Еще одно отличие, которое я заметил, заключается в том, что Cassini работает как 32-разрядный процесс, и вы не можете его контролировать, тогда как вы можете контролировать пул приложений своего приложения IIS, чтобы запретить 32-разрядный режим (при условии, что ваш IIS работает на сервер). Это становится особенно важным, если ваше веб-приложение будет вызывать API-интерфейсы в 64-разрядных процессах, таких как SharePoint Foundation / Server 2010. При отладке веб-приложения с помощью Cassini в качестве сервера отладки вы получите «Веб-приложение по URL может не найден. Убедитесь, что вы правильно ввели URL-адрес », введите ошибки при создании объектов. Если вы выполняете отладку с помощью IIS с приложением, запущенным в пуле приложений, который работает как 64-разрядный с идентификатором, обеспечивающим доступ к базе данных sharepoint, тогда вы сможете правильно отлаживать.

1 голос
/ 21 июля 2009

Я столкнулся со следующими ограничениями на сервере asp.net dev:

  1. не поддерживает виртуальные каталоги. Если они вам нужны в вашем приложении, IIS, кажется, ваш единственный выбор

  2. Классические страницы asp не запускаются на сервере dev. Так что, если у вас смешанное веб-приложение (как у меня сейчас на моем клиенте), IIS кажется решением

  3. Если вам нужен интерфейс администратора для настройки параметров, IIS работает лучше

Конечно, IIS требует, чтобы вы были локальным администратором.

1 голос
/ 11 ноября 2008

Кроме того, при использовании IIS 5.1 обязательно получите JetStat IIS Admin , он добавляет функциональность, которая отключена из коробки в IIS 5, например возможность настраивать несколько сайтов.

...