Каковы преимущества (преимущества) использования Cassini вместо IIS?

Я обнаружил, что в некоторых случаях я могу редактировать источник во время отладки, есть ли другие преимущества использования встроенного веб-сервера Visual Studio вместо виртуального каталога в IIS?

Я использую Windows XP в своей среде разработки и локальный экземпляр IIS 5. Я работаю над несколькими проектами, поэтому я использую несколько виртуальных каталогов для управления всеми различными сайтами.

Есть ли недостатки?

Ответ 1

Встроенный веб-сервер для Visual Studio называется Cassini, и вот некоторые из его ограничений...

  • Он может содержать только один ASP.NET приложение на порт.
  • Он не поддерживает HTTPS.
  • Он не поддерживает аутентификацию.
  • Он отвечает только локальному хосту запросы.
  • Медленный запуск по сравнению с IIS

Ответ 2

Все предыдущие ответы - отличные ответы - вот один вопрос с Cassini, который может потребовать IIS в destkop.

Cassini работает в контексте разработчика, а не как пользователь IIS (IUSR_, IWAM или в WinXP x64, процесс w3wp). Это может быть немного больно, если у вас есть веб-сайт, который обращается к внешним файлам или создает временные файлы. Это наиболее очевидно, когда ваш разработчик работает как администратор своего рабочего стола.

При переходе на сервер IIS то, к которому у вас был бы доступ в Cassini, не работает. CACLing с IIS_WPG, как правило, это все, что требуется для исправления, но если ваш разработчик не задумывается об этом, они быстро разочаруются в их развертывании.

Ответ 3

Cassini не поддерживает виртуальные каталоги

Ответ 4

Похоже, скоро появится третий вариант: IIS Express.

Ответ 5

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

Ответ 6

Веб-сервер Visual Studio менее прощает о // в пути.

Он откажется от ссылки, например: http://localhost:52632/main//images/logo.jpg, где будет выполняться IIS.

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

Ответ 7

Другим недостатком, с которым я столкнулся, является сайт, прошедший проверку подлинности с использованием пользовательских IPrincipal/IIdentity. Cassini переключит AppDomains без предупреждения (или уведомления).

Отметьте это сообщение в блоге для большей. Головная боль на этом заставила меня отказаться от Cassini и придерживаться IIS.

Ответ 9

  • Вам нужно, чтобы Visual Studio работала для его использования (при нормальных обстоятельствах)

  • Он реагирует только на localhost, поэтому вы не можете передать ссылку http://simon-laptop:37473/app1 другу для просмотра вашего сайта по сети.

  • Большие неприятности: сложнее получить fiddler, поскольку трафик localhost не отправляется через прокси.

Изменить: с помощью http://ipv4.fiddler:37473 - лучший способ заставить Fiddler работать с ним.

Ответ 10

Если вы используете веб-ссылку для веб-служб, которые находятся на встроенном веб-сервере, порт может измениться. Если вы не установили "Конкретный порт", указанный на странице "Параметры проекта → ".

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

Ответ 11

Встроенный сервер означает, что разработчику не нужно знать, как настроить IIS для проверки своего сайта.

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

Ответ 12

Cassini также не поддерживает классические ASP-страницы. Это только проблема для устаревших проектов, где старые ASP-страницы все еще существуют (например, наше веб-приложение на работе).

Ответ 13

Вы не можете использовать виртуальные каталоги: (

Ответ 14

Если вы занимаетесь хобби на дому с помощью XP Home, вы не можете локально установить IIS.

Ответ 15

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

Ответ 16

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

Ответ 17

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

Ответ 18

Когда вы используете IIS в Vista или Windows 7 с включенным UAC, вы должны запустить Visual Studio с правами администратора. Если вы это сделаете, вы не сможете перетащить кадр из своей оболочки в Visual Studio (даже если вы запустили экземпляр explorer.exe в качестве администратора).

По этой причине я использую Cassini для большинства проектов.

Ответ 19

FYI, Windows XP 64-бит поставляется с IIS 6.

Ответ 20

Это старая нить, начатая 2 года назад. Я просто наткнулся на UtilDev Cassini во время поиска. Выглядит многообещающе для меня. По крайней мере, он имеет возможность запускать несколько сайтов одновременно. Эта функция действительно полезна для меня, потому что я работаю на двух разных сайтах и ​​постоянно переключаюсь между ними с помощью IIS.

Ответ 21

Здесь причина для третьего способа: хотя UWS Pro, вероятно, ближе к IIS, чем Cassini (хотя он вдохновлен Cassini и является продавцом вилки UltiDev Cassini), его главная цель - быть распространяемым вместе с приложениями ASP.NET. enter image description here

Ответ 22

Установите IISAdmin, и вы можете настроить отдельные сайты в IIS 5 вместо использования виртуальных каталогов.

Ответ 23

Встроенный веб-сервер немного менее надежный, чем IIS, но не требует настройки, поэтому это просто компромисс.

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

Однако, если ваше приложение будет обращаться к ресурсам за пределами нормы для веб-приложения, вы можете часто отлаживать в IIS, чтобы ваше приложение работало с ограниченными разрешениями, и вы можете видеть, где будут точки боли.

Ответ 24

Мы также видели некоторые проблемы с VS-встроенным сервером относительно некоторых сторонних элементов управления, которые помещают их скрипты в папку \aspnet_client. Поскольку папка не существует, когда вы не работаете в IIS, элементы управления не работают. Кажется намного проще всегда работать с IIS и избегать странных проблем.

Ответ 25

Единственное различие, которое я обнаружил, заключается в том, что сервер разработки обрабатывает загрузку файлов по-разному, чем IIS. Вы не можете уловить ошибку, если загружаемый файл больше, чем ваш параметр Max_File_Size. Страница просто умирает и возвращает 500.

Ответ 26

Другим недостатком является то, что он отправляет каждый запрос через gloabal asax файл, который включает в себя все запросы на изображения и таблицы стилей. Это означает, что если у вас есть код, который делает вещи с именами файлов, такие как поиск, тогда также будут обработаны вспомогательные файлы.

Ответ 27

Также через IIS вам не нужно беспокоиться о том, чтобы автоматически запомнить и установить номер тупого порта в вашем URL-адресе localhost. Это что-то фанки прямо связано с Кассини... большая боль в заднице. Кто хочет запомнить какой-то номер порта абортов. Просто запустите проклятый сайт в IIS.. просто и просто.

Ответ 28

Если ваш проект находится в каталоге IIS, вы все равно можете редактировать код, просто зависит, был ли он опубликован или нет. Вы столкнетесь с такими проблемами в Cassini vs IIS, когда вы отлаживаете определенные сценарии на основе разрешений, такие как аутентификация kerberos и ntlm, а также такие проблемы, как сжатие сервера и т.д. В целом Cassini все еще в порядке, но убедитесь, что вы делаете обширное тестирование при публикации в IIS.