У меня есть приложение, которое я пытаюсь запустить в своей dev-системе под IIS Express из VS2010, для чего мне нужно использовать порт 80, но я не могу заставить его работать. Я ищу информацию о том, что порт 80 зарезервирован. http://learn.iis.net/page.aspx/1005/handling-url-binding-failures-in-iis-express/
Но даже после этого я все еще получаю сообщение об ошибке vs2010, в котором говорится: "Не удается запустить веб-сервер IIS Express. Используется порт" 80 ".
Я не знаю, что еще попробовать. Я использовал Process Hacker для отслеживания порта 80 и, по-видимому, он используется System
, запущенным на идентификаторе процесса 4, который является ядром NT и системным процессом. Я не знаю, может ли это помешать мне использовать порт. Я подумал, может быть, это было связано с тем, что http.sys держал этот порт, поэтому ничто не могло его использовать?
Мне удалось запустить IIS Express на порт 80, изменив привязку по умолчанию файла C:\Users\[MyUser]\Documents\IISExpress\config\applicationhost.config
по умолчанию, и, хотя я могу запустить IIS Express вручную таким образом, VS затем получает ошибку, потому что привязка уже существует на этом порт. Поэтому я меняю его на 8080, создаю виртуальный каталог с помощью кнопки в VS2010 (который, как я предполагаю, совпадает с вводом привязки сайта), но я все равно получаю сообщение об ошибке при отправке отладки приложения. Есть ли что-то жестко закодированное в VS2010, которое не позволит запустить IIS Express на порт 80?
UPDATE и FIX: Хорошо, поэтому я нашел еще несколько вещей, чтобы проверить, и я решил проблему, но не полностью. Одна статья предложила убедиться, что у меня не было служб отчетов SQL, поскольку они могут отслеживать порт 80, я использовал его, но не больше, и это не проблема, с которой я столкнулся. Однако я понял, что у меня установлен WebDeploy. Он был связан с пакетом SP2010 SP1 от установщика веб-платформы. Это нормально, так как я хочу, чтобы клиентские инструменты из WebDeploy, но он также установил агента в моей системе, который контролировал порт 80. Я пошел в свой список служб и остановил Web Deploy Agent Service
. Вскоре, когда я это сделал, теперь я могу использовать порт 80 для IIS Express из VS2010.
Новая проблема, связанная с запуском на порту 80 в IIS Express Однако мое приложение является MVC3-приложением, и я столкнулся с проблемой, потому что MVC3 не захватывает мой запрос вообще, поэтому он не запускает мои действия с контроллером или что-то в этом роде, а txt файл в корне моего приложения может быть достигнут, поэтому я знаю, что это сайт, на котором работает служба IIS Express. У кого-нибудь есть проблемы с MVC3 (я не знаю, является ли он эксклюзивным для MVC3 или нет) в IIS Express на порту 80?