Какую сборку Cassini выбрать для производства? Есть 8 публичных сборок от 5 разных авторов.

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

Какой из вышеперечисленных вилок вы порекомендуете? Hostable Web Core - это новый Cassini, или я все еще зависим от IIS с HWC?

Буду признателен, если вы уточните:

  • Безопасность проекта
  • Если вилка подходит для обслуживания легкого интерфейса администратора
  • Возможности веб-сайта
  • Любая зависимость от IIS (например, HWC).

person halfbit    schedule 21.03.2011    source источник


Ответы (4)


Краткое изложение моей точки зрения на данный момент таково:

Ни один из них, включая мой код, не подходит для производственных целей. Ограничения и ограничения использования simpleworker, которые все разделяют, не поддаются критически важным (что я понимаю под словом «производство») процессам. Не последним из них является полная неспособность обслуживать WCF (не включает привязки WebHttp, IIRC) на любом IP-адресе, кроме LoopBack. Другое ограничение заключается в том, что все они обслуживают запросы в виде очереди, по одному, и на сегодняшний день ВСЕ запросы обрабатываются средой выполнения, включая статический текст и файлы изображений. Это может измениться в CassiniDev (раньше, чем позже, если будет обеспечено финансирование). Кэширование также практически отсутствует во всех реализациях IIRC.

  • HWC требует IIS7
  • Оригинал - музейный экспонат
  • Дмитрий ушел из бизнеса Cassini после того, как некоторые из нас разошлись, так что не ищите там обновлений. Его код - хорошее место для начала, если вы решите запустить еще один форк cassini по какой-то странной причине.
  • Cassini ++ - это код Дмитрия с некоторыми улучшениями, в первую очередь возможностью использовать внешний IP-адрес, но он не работал с тех пор, как я запустил CassiniDev 2 года назад.
  • zippy1981 изначально разветвил Дмитрия, чтобы решить проблему с типом контента, после того как я немного поленился его реализовать. Нет активности с 04-2010
  • У меня нет опыта работы с портом VB MPosseth, кажется, бездействует.

  • UtiDev имеет несколько замечательных функций, таких как работа в качестве службы, и не является строго вилкой Cassini. Он бесплатный и распространяемый, но бездействует с 2008 года.

CassiniDev - это инструмент, который я часто использую, и его функции отражают это. Он поддерживает версии 2.0, 3.5 и 4.0. Он построен как exe, dll и на 100% совместимый (улучшенный) компонент, заменяющий сервер разработки Visual Studio. Он подходит и прост в использовании для сред тестирования и сред непрерывной интеграции, а также в качестве автономного исполняемого файла и встроен в ваши собственные приложения.

Последние версии WebDev.WebServer для Visual Studio 2010 были запущены через отражатель для выявления изменений, и очень немногие из них были обнаружены, а намерение было реализовано в CassiniDev.

Разработка ведется активно и получила небольшое корпоративное финансирование для реализации некоторых новых функций, таких как; виртуальная конечная точка для отправки результатов теста html / javascript обратно в NUnit, MSTest и т. д .; Драйвер браузера, который может открывать браузер, обслуживать страницу и закрывать браузер; рудиментарный запуск системы конфигурации, поддерживающей плагины, текущая единственная реализация - это плагин CORS, который будет отправлять заголовки, необходимые для поддержки междоменного javascript через CORS, XDomainRequest и Flash.

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

Ошибки исправляются, а функции внедряются, когда позволяет время.

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

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

Мой .02. Хотя может показаться, что я беззастенчиво подключаю свою собственную работу, факт в том, что я использую CassiniDev каждый день в разработке и тестировании, как и 100 (0?) С других. Я рад, что другие находят ценность в этой работе, но, хотя я стараюсь изо всех сил, насколько позволяет время, я не могу гарантировать время ответа на проблемы и функции и не хочу создавать ложные ожидания.

person Sky Sanders    schedule 22.03.2011
comment
Спасибо за отзыв и дополнительную ссылку! Вы бы порекомендовали любую из этих сборок для облегченного административного портала? Полноценный производственный режим подразумевает немного больше, чем я предполагал изначально. Я в основном сосредоточен на безопасности, если меняю ограничение IP только с локального. - person halfbit; 22.03.2011
comment
CassiniDev поддерживает безопасность NTLM так же, как и WebDev.WebServer, но я написал только простые тесты. Конечно, вы можете использовать аутентификацию с помощью форм. - person Sky Sanders; 23.03.2011
comment
Я понимаю, что этому посту несколько месяцев, но можете ли вы сказать, что CassiniDev не подходит для производственного использования? Я пытаюсь уменьшить наши зависимости, и частично это интеграция веб-хостинга в наш серверный процесс, а не использование IIS. Мой вопрос привел меня к тому, что я попробовал CassiniDev, но я не хочу продолжать, если вы не думаете, что это разумно. - person Adam Robinson; 13.09.2011

UltiDev Cassini на самом деле не бездействует. Его преемник, UltiDev Web Server Pro. (UWS), разрабатывался более года и стал ближе к IIS (по функциональности, а не по размеру или сложности). Тестовые сборки UltiDev Web Server Pro выпускаются раз в несколько недель и уже достаточно стабильны.

Чтобы прокомментировать некоторые моменты Скай:

  • Новый UWS обходит среду выполнения ASP.NET при обслуживании статического содержимого.
  • UltiDev Cassini не ограничивается петлевыми IP-адресами / именами хостов. Новый UWS использует драйвер ядра http.sys в качестве слушателя - так же, как IIS.
  • UltiDev Cassini и UWS выполняют запросы очереди, но обрабатывают их параллельно объединенными потоками.
  • Неспособность обслуживать WCF с помощью WsHttpBinding не является ограничением SimpleWorkerRequests, а скорее является предположением WCF о том, что всякий раз, когда он размещается в домене приложений ASP.NET, он размещается либо в IIS, либо в исходном Cassini, и ничего больше. Попытки убедить MS изменить это длились более двух лет и потерпели неудачу. В конце концов, WCF, размещенный в домене приложений ASP.NET, заключает, что это безопасно только тогда, когда он находится под IIS, но не делает такого предположения, когда он размещается в случайном процессе / домене приложения .net без ASP.NET. Тем не менее, WCF с BasicHttpBinding работает нормально.

Ура, Влад.

person VladH    schedule 08.07.2011

Вы можете попробовать Mono XSP или mod_mono с Apache Environment или моно-быстрый cgi-сервер за nginx! Какова ваша мотивация не использовать IIS?

person saintedlama    schedule 22.03.2011
comment
Я создаю административный интерфейс, и некоторые компании отказываются разрешать использование IIS в среде. Это просто попытка сохранить некоторую функциональность в этом случае. - person halfbit; 22.03.2011

Моя работа основана на Cassini Дмитрия Робсмана, версия 4.0 моего порта VB основана на последней версии, которую я смог найти в то время на странице Дмитрия, он знает, что я сделал порт VB своей работы, когда он отправил мне электронное письмо с CC Лизе Фейгенбаум, чтобы поблагодарить меня за это.

Я никогда не получал отзывов от кого-либо с жалобами на то, что что-то не работает, это просто соответствовало моим потребностям (так что не нужно над этим работать), я знаю, что в прошлом был CassineEX, где EX означал Extended i. загрузил эту вещь и сначала хотел использовать ее, но, на мой взгляд, она была довольно раздутой, я просто хотел простой маленький и максимально быстрый веб-сервер, мне не нужны были функции журнала и все другие вещи, которые были реализованы в EX версия.

Но, как вы видите, я все еще поддерживаю версию Cassini на VB, она не умерла и не осталась позади ,,, :-)

person MPosseth    schedule 23.03.2011