Вопрос по visual-studio, asp.net – Каковы (не) преимущества использования Cassini вместо IIS?

51

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

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

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

Ваш Ответ

25   ответов
2

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

Кого волнует классическая осина ... они уже должны быть преобразованы. PositiveGuy
@ CoffeeAddict: Вы будете удивлены. Половина компаний в Сан-Франциско используют инфраструктурные приложения, созданные в 90-х годах, которые с тех пор не обновлялись. Daniel Szabo
5

// в пути.

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

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

0

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

1

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

Чувак просто используй IIS и двигайся дальше. Узнать его PositiveGuy
1

UWS Pro, вероятно, ближе к IIS, чем Cassini (хотя он вдохновлен Cassini и принадлежит продавцу вилки UltiDev Cassini), его главная цель - быть Распространяемый вместе с приложениями ASP.NET.

Просто используйте IIS, зачем использовать что-нибудь еще. PositiveGuy
-1

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

зачем тестировать позже, когда вы сможете все время тестировать в IIS, что на самом деле будет работать с вашим кодом для всего ASP.NET? просто так вы можете сэкономить 2 секунды каждый раз, когда вы хотите отладить? Не хороший компромисс ... вы экономите больше хлопот и узнаете больше в конце, используя период IIS. PositiveGuy
16

которая может потребовать IIS для Destkop.

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

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

0

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

2

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

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

Огромный недостаток. Вы должны знать IIS ... это важно для вашей работы. Полностью согласен. Вот почему в нашей профессии такие тупые разработчики ... потому что мы полагаемся на чёрный ящик, такой как Cassini, вместо того, чтобы изучать реальный код или, в данном случае, относиться к реальному веб-серверу (IIS), который является тем, что .NET работает для Интернета. Почему вы хотите использовать что-нибудь еще, кроме IIS, когда это так. Я бы хотел, чтобы MS никогда бы не придумала эту глупую побочную «легкую» чушь, как они всегда делают… она просто дезинформирует нас как профессионалов, заставляя нас тупее. PositiveGuy
1

используя XP Home, вы не можете установить IIS локально.

Я думаю, что установщик MS Web Platform снимает это ограничение (я смог установить IIS на Vista Home) Dan
@ Dan Finch Vista Home может работать с IIS. XP Home не может. Joel Coehoorn
3

чтобы использовать его (при нормальных обстоятельствах)

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

Большое разочарование: получить труднее Стелька работает, потому что трафик localhost не отправляется через прокси.

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

На самом деле, вы можете запустить его из командной строки, так что вам не нужно запускать Visual Studio. Jonathan Arkell
Вы можете обмануть скрипача, чтобы он наблюдал за локальным трафиком, добавив точку перед двоеточием и портом в своем URL-адресе .. примерlocalhost:. 1234 / MyApp Или с помощью прохода скрипача Ipv4.fiddler: 1234 Quintin Robinson
5

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

Извините, но какого черта компания (любого размера) захочет сделать это с разработчиком? Это глупо. Не позволяйте нам использовать нативные инструменты, которые должен знать каждый разработчик - в этом случае понимание и изучение IIS лучше, что важно и помогает вам стать лучшим веб-разработчиком, а также, когда вы хорошо знаете IIS, вы экономите часы на отладке веб-приложения. PositiveGuy
@ CoffeeAddict Я работаю в одной из этих компаний. Я вижу, как корпоративная безопасность считает, что это отличная идея, но как разработчик она действительно мешает мне. К счастью, они допускают исключения для разработчиков, которые хотят пройти через достаточно обручей (я всегда прохожу через эти обручи). Zarepheth
5

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

Проверь этоСообщение блог для большего. Головная боль от этого заставила меня бросить Кассини и придерживаться IIS.

0

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

4

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

2

которые находятся на встроенном веб-сервере, порт может измениться. Если вы не установили «Определенный порт», упомянутый на странице параметров проекта-> Свойства.

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

боль в заднице, используйте IIS. PositiveGuy
0

чем IIS, но не требует настройки, поэтому это просто компромисс.

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

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

0

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

58

и вот некоторые из его ограничений ...

Он может содержать только одно приложение ASP.NET на порт. Он не поддерживает HTTPS. Не поддерживает аутентификацию. Он отвечает только на запросы локального хоста. Медленный запуск по сравнению с IIS
LOL, я их тоже исправил pdavis
Так как с открытым исходным кодом, вы можете легко удалить только локальное ограничение :). Я сделал. Это просто Ali Kazmi
"Он отвечает только на запросы локального хоста" ... не могу этого подчеркнуть! Это делает его довольно бесполезным для реального веб-обслуживани mcjabberz
«Он отвечает только на запросы локального хоста» - легко исправить. Добавьте дополнительную запись в ваш файл hosts, скажем «127.0.0.1 mymachine.local», и вы сможете получить к ней доступ, используя что-то отличное от localhost. Кроме того, несколько человек настроили действительные домены, которые разрешают 127.0.0.1 - хороший пример - lvh.me. Это было спасением для меня пару раз.localhost: 123 / site.aspx становится Lvh.me / site.aspx. Скрипач дружелюбный! nerraga
Исправлены маркированные разрывы строк и проголосовали за https и замечания по аутентификации (отдельные ответы дали бы вам два голоса). Joel Coehoorn
1

и он работает на нечетном порту, поэтому, если вы рассчитываете на определенное поведение, это может быть проблематично.

Можно настроить порт в VS. Проект-> Свойства-> Определенный порт pdavis
1

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

1

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

большое спасибо вам. НЕ ЗАМЕНА ЛЮДЕЙ. PositiveGuy
1

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

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

Может быть, кто-то должен начать новый вопрос "Каковы (не) преимущества использования Cassini вместо IIS на Vista / Win7?" потому что это изменит правила игры, то есть на XP лучший выбор - IIS, но на Win7 @ это не так уж и очевидн Eric Labashosky
7
0

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

Хотя только беги по одному. Richard Szalay
это огромный недостаток и просто нереальный - просто используйте IIS, и вы можете делать все, что захотите, и все, что угодно. PositiveGuy

Похожие вопросы