Различия в поведении между IIS и Сервером веб-разработки ASP.NET?

Во время разработки я обычно тестирую приложения ASP.NET с помощью Сервера веб-разработки (иногда названный Cassini). Иногда, когда я публикую к реальной среде IIS, я замечаю, что приложение ведет себя по-другому.

Так, каковы различия между способом, которым производством ведут себя серверы IIS и Сервер веб-разработки ASP.NET? Я не имею в виду различий в наборах функций (ясно, IIS имеет много функций, которые не присутствуют в WDS), но различия в способе, которым они обрабатывают ASP.NET.

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

5
задан Community 23 May 2017 в 12:11
поделиться

2 ответа

Могут быть некоторые отличия:

  • Вы не можете использовать виртуальные каталоги при работе с cassini. Это может привести к неожиданному поведению при первом развертывании из-за отсутствия разрешений для папки. (например, у вас есть каталог / image / на вашем локальном компьютере, но в IIS / image / есть виртуальный каталог, указывающий на elsehwere)
  • Некоторые сборки сторонних производителей (например, ComponenArt Web DLL) вызывают проблемы {{ 1}} с определенными проблемами порта. Лучше всего разрабатывать с использованием IIS, чтобы минимизировать проблемы совместимости при развертывании.
  • Уровень доверия целевого IIS может быть ниже, чем ваши настройки разработки, это может привести к сбою, в зависимости от того, что вы делаете с IIS, нравится читать Uptime.
0
ответ дан 15 December 2019 в 00:57
поделиться

Некоторые вещи, которые я обнаружил здесь и в другом месте:

  • Контекст безопасности, в котором соответствующие серверы запускают приложения ASP.NET отличается. Для Dev Server это учетная запись текущего пользователя. Для IIS это контекст специального пользователя (ASPNET или СЕТЕВЫЕ СЛУЖБЫ), который обычно имеет ограниченные привилегии.

  • Для веб-сайта Сервер разработки подвергает статические файлы (изображения, таблицы стилей и т. Д.) Авторизации ASP.NET. Однако IIS обслуживает статические файлы без использования правил авторизации.

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

  • Сервер разработки не поддерживает HTTPS.

  • Есть разница в том, как два сервера обрабатывают пути, содержащие "//". Сообщается, что сервер Dev стал более снисходительным.

  • Сервер Dev произвольно выбрал порт, а не стандартный порт HTTP 80.

4
ответ дан 15 December 2019 в 00:57
поделиться
Другие вопросы по тегам:

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