Во время разработки я обычно тестирую приложения ASP.NET с помощью Сервера веб-разработки (иногда названный Cassini). Иногда, когда я публикую к реальной среде IIS, я замечаю, что приложение ведет себя по-другому.
Так, каковы различия между способом, которым производством ведут себя серверы IIS и Сервер веб-разработки ASP.NET? Я не имею в виду различий в наборах функций (ясно, IIS имеет много функций, которые не присутствуют в WDS), но различия в способе, которым они обрабатывают ASP.NET.
BTW: существует несколько различий, отмеченных в ответах на этот вопрос, но я уверен, что должно быть больше.
Могут быть некоторые отличия:
Некоторые вещи, которые я обнаружил здесь и в другом месте:
Контекст безопасности, в котором соответствующие серверы запускают приложения ASP.NET отличается. Для Dev Server это учетная запись текущего пользователя. Для IIS это контекст специального пользователя (ASPNET или СЕТЕВЫЕ СЛУЖБЫ), который обычно имеет ограниченные привилегии.
Для веб-сайта Сервер разработки подвергает статические файлы (изображения, таблицы стилей и т. Д.) Авторизации ASP.NET. Однако IIS обслуживает статические файлы без использования правил авторизации.
Сервер разработки не поддерживает SMTP, поэтому вы не можете отправлять электронные письма напрямую с этого сервера.
Сервер разработки не поддерживает HTTPS.
Есть разница в том, как два сервера обрабатывают пути, содержащие "//". Сообщается, что сервер Dev стал более снисходительным.
Сервер Dev произвольно выбрал порт, а не стандартный порт HTTP 80.