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

Также вы можете расширить объект HTMLElement, чтобы добавить методы для добавления, удаления, переключения и проверки классов ( gist ):

HTMLElement = typeof(HTMLElement) != 'undefiend' ? HTMLElement : Element;

HTMLElement.prototype.addClass = function(string) {
  if (!(string instanceof Array)) {
    string = string.split(' ');
  }
  for(var i = 0, len = string.length; i < len; ++i) {
    if (string[i] && !new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)').test(this.className)) {
      this.className = this.className.trim() + ' ' + string[i];
    }
  }
}

HTMLElement.prototype.removeClass = function(string) {
  if (!(string instanceof Array)) {
    string = string.split(' ');
  }
  for(var i = 0, len = string.length; i < len; ++i) {
    this.className = this.className.replace(new RegExp('(\\s+|^)' + string[i] + '(\\s+|$)'), ' ').trim();
  }
}

HTMLElement.prototype.toggleClass = function(string) {
  if (string) {
    if (new RegExp('(\\s+|^)' + string + '(\\s+|$)').test(this.className)) {
      this.className = this.className.replace(new RegExp('(\\s+|^)' + string + '(\\s+|$)'), ' ').trim();
    } else {
      this.className = this.className.trim() + ' ' + string;
    }
  }
}

HTMLElement.prototype.hasClass = function(string) {
  return string && new RegExp('(\\s+|^)' + string + '(\\s+|$)').test(this.className);
}

И тогда просто используйте (этот клик добавит или удалит класс):

document.getElementById('yourElementId').onclick = function() {
  this.toggleClass('active');
}

Здесь demo .

51
задан Haacked 21 September 2008 в 17:50
поделиться

26 ответов

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

  • Это может разместить только одно приложение ASP.NET на порт.
  • Это не поддерживает HTTPS.
  • Это не поддерживает аутентификацию.
  • Это отвечает только на запросы localhost.
  • Медленный запуск по сравнению с IIS
58
ответ дан pdavis 7 November 2019 в 19:55
поделиться

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

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

1
ответ дан 7 November 2019 в 09:55
поделиться

Another dis-advantage is that it sends every request through the gloabal asax file which includes all requests for images and stylesheets. This means if you have code in there which does things with the file names, such as a look up, then the auxillary files willget processed too.

0
ответ дан 7 November 2019 в 09:55
поделиться

К вашему сведению, 64-разрядная версия Windows XP поставляется с IIS 6.

1
ответ дан 7 November 2019 в 09:55
поделиться

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

7
ответ дан 7 November 2019 в 09:55
поделиться

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

1
ответ дан 7 November 2019 в 09:55
поделиться

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

0
ответ дан user13810 7 November 2019 в 19:55
поделиться

Если Ваш проект находится в каталоге IIS, можно все еще отредактировать код, просто зависит, если это было опубликовано или нет. Вы столкнетесь так с проблемами о Кассини по сравнению с IIS при отладке определенных основанных на разрешении сценариев, как kerberos и аутентификация NTLM, а также проблемы как сжатие сервера и т.д., В целом, Кассини все еще хорошо к dev с, но удостоверьтесь, что Вы делаете обширное тестирование при публикации к IIS.

-1
ответ дан Quintin Robinson 7 November 2019 в 19:55
поделиться

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

0
ответ дан Doron Yaacoby 7 November 2019 в 19:55
поделиться

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

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

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

0
ответ дан James 7 November 2019 в 19:55
поделиться

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

2
ответ дан Toby Mills 7 November 2019 в 19:55
поделиться

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

1
ответ дан Simon_Weaver 7 November 2019 в 19:55
поделиться

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

0
ответ дан FlySwat 7 November 2019 в 19:55
поделиться

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

2
ответ дан Gilligan 7 November 2019 в 19:55
поделиться

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

1
ответ дан Matthew M. Osborn 7 November 2019 в 19:55
поделиться

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

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

5
ответ дан Stacked 7 November 2019 в 19:55
поделиться

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

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

2
ответ дан Joel Coehoorn 7 November 2019 в 19:55
поделиться

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

1
ответ дан Joel Coehoorn 7 November 2019 в 19:55
поделиться

Если Вы 'веб-ссылка' URL для веб-сервисов, которые находятся на встроенном веб-сервере, порт, могли бы измениться. Если Вы не установили "Определенный порт", упомянул в Проекте-> страница параметров Свойств.

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

2
ответ дан Vin 7 November 2019 в 19:55
поделиться
  • у Вас должна быть Visual Studio, работающая для использования его (при нормальных обстоятельствах)

  • , Это только отвечает на localhost, таким образом, Вы наклоняетесь, дают ссылку http://simon-laptop:37473/app1 другу для просмотра сайта по сети

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

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

3
ответ дан Stacked 7 November 2019 в 19:55
поделиться

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

4
ответ дан Greg Hurlman 7 November 2019 в 19:55
поделиться

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

1
ответ дан Joel Coehoorn 7 November 2019 в 19:55
поделиться

Веб-сервер Visual Studio меньше прощает [приблизительно 110] в пути.

Это откажется вручать ссылку как: http://localhost:52632/main//images/logo.jpg, где IIS сделает.

Это довольно неясно, но означает, что у нас есть большая фиксация, чтобы сделать для избавлений от весь эти // случаи.

5
ответ дан Stacked 7 November 2019 в 19:55
поделиться

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

5
ответ дан Joel Coehoorn 7 November 2019 в 19:55
поделиться

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

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

при перемещении в сервер IIS что-то, к чему у Вас был бы доступ в Cassini, не работает то же. CACLing с IIS_WPG обычно - все, что требуется для фиксации, но если разработчик не будет думать об этом, они будут быстро вполне расстроены их развертывающиеся.

16
ответ дан Christopher G. Lewis 7 November 2019 в 19:55
поделиться

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

9
ответ дан John Sheehan 7 November 2019 в 19:55
поделиться
Другие вопросы по тегам:

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