Visual studio веб служба недоступна
Если я войду в свойства проекта при отладке и изменим порт, он будет подключаться 1 раз. Затем, если я попытаюсь подключиться снова, он снова даст мне ту же ошибку. Затем я могу переключить порт обратно на оригинал, и он будет загружаться один раз, после чего он будет работать в любое время, кроме этого, пока я не переключу его снова. У кого-нибудь есть идеи или исправления, которые они использовали?
Я установил core 2.0 и обновил VS 2017 до 15.4.3 сегодня, имел ту же ошибку.
Я закончил тем, что менял приложение для работы на другом порту, это сработало для меня.
Я попытался удалить папку vs, но не работал.
Ошибка только начала появляться без видимой причины, и я попробовал решения, размещенные здесь.
Я запустил веб-приложение из командной строки, используя команду запуска dotnet, чтобы выяснить, не приведет ли это к каким-либо значимым ошибкам, и было предупреждение о неправильной привязке URL-адреса. Я посмотрел в файле своих проектов Properties\launchSettings.json и заметил, что свойства applicationUrl были другими.
- Измените значения для applicationURL, чтобы они были одинаковыми
- Закройте проект и закройте VS
- Удалить скрытую папку .vs (как указано в принятом ответе)
- Запустите VS от имени администратора
Ваше приложение должно работать нормально.
Перейдите сюда в свой проект: Properties/launchSettings.json, откройте этот файл и отредактируйте номера портов здесь. Примечание. Здесь вы меняете порт SSL (два места).
Также может случиться, что в диспетчере задач есть процессы iisexpress.exe, которые работают на одном и том же порту.
Я только что нашел пару и убил их, решив эту проблему для меня, не нужно удалять любую папку.vs или менять порты или что-то в этом роде.
Я решил эту проблему, добавив исключение в файл devenv.exe в Windows Defender (антивирус, Win10)
как узнать это проблема; При загрузке проекта защитник уведомит в уведомлении о несанкционированных изменениях заблокированных. если это проблема, просто добавьте исключение, как указано выше.
- Если вы жестко кодируете определенный IP-адрес (не localhost), убедитесь, что он не изменился.
Перепробовал все. не работал выше. исправлено изменение хоста в applicationhost.config.
изменить localhost на 127.0.0.1
У меня вышеупомянутые решения не сработали
Но изменение IIS Express Bitness на x64 сработало
Он работает после повторного ввода имени пользователя и пароля для учетной записи пула приложений
Настройка Visual Studio для запуска с правами администратора решила проблему для меня.
Я столкнулся с этой проблемой. Запуск VS в режиме администратора решил эту проблему для меня.
Я искал каждую тему, и кажется, что все уже решили проблему, и я перепробовал все возможные решения, которые они предоставили, или я все еще что-то упускаю.
-FireWall уже выключен.
Итак, я пытаюсь получить доступ к своему серверному приложению IIS, которое в настоящее время работает под управлением VS 2013. Обновление 2.
Я искал решение и дает мне тонны.
"asterisk:29790:asterisk" <- он не показывает звездочку из-за текстового редактора.
чанингом переплетов. Но это все равно не работает. Я также перезапускаю PC или VS. Но проблема в том, что когда я пытаюсь заново открыть VS. VS, то переписываю applicationhost.config и добавляю еще одну привязку.
Как вы можете видеть в моем названии сайта= " SMApplication(4) <- у него уже есть 4. Это происходит автоматически, когда я снова открываю файл , и тогда привязки снова будут "*:29790:localhost".
Каким-то образом редактируя эти привязки. VS studio создаст еще одну привязку приложения. имея другое имя сайта *: 29790:localhost", но когда я запускаю приложение, оно дает мне.
У меня была аналогичная проблема с аналогичным решением:
Сценарий: у меня был пул приложений, запущенный под учетной записью пользователя, и его пароль был изменен, потому что срок его действия истек. Я никогда не обновлял IIS, поэтому пул приложений останавливался сам по себе каждый раз, когда пытался запустить веб-сайт. Даже если я начну AppPool вручную, он остановится при запуске веб-сайта.
Решение: обновите учетные данные для учетной записи на IIS или используйте другую учетную запись
I Приложение DefaultAppPool (или другое пользовательское имя), возможно, по какой-то причине остановилось. Убедитесь, что он включен. Переработать тоже.
Я столкнулся с этой проблемой недавно после обновления Windows 10 (Dev machine). Я создал новый IIS AppPool и назначил его веб-сайту, и это исправило проблему.
Вы должны попытаться удалить папку IIS Express в %USERPROFILE%\Documents.
Следующая важная вещь-перезапустить Visual Studio и открыть его как администратор.
В настоящее время я использую Visual Studio 2015 CE, поэтому я не знаю, применимо ли мое решение к вашей проблеме. В любом случае попробуйте удалить все папки, которые были кэшированы хостингом IIS Express и никогда не были очищены после этого.
Итак, в моем случае единственное, что исправило это, - это статическая установка ip-адреса в новом протоколе привязки, в вашем случае это будет что-то вроде этого:
Это не вызовет никаких проблем в производственной среде.
Похожие вопросы:
Я пытаюсь решить эту проблему уже около недели. Я разместил этот вопрос на сайте Microsoft и получил только один ответ, который не решил мою проблему. Ниже приводится комбинация моих постов на.
Я действительно Новичок в настройке веб-серверов в целом. У меня есть IIS 8 на Windows 8, и я пытаюсь создать небольшой сайт локально, одновременно занимаясь некоторыми разработками. В IIS я выбираю.
Я опубликовал свой Web Api (framework 4.5) по этому пути C:\inetpub\wwwroot\MyWebAPI В моем IIS я преобразовал эту папку в приложение Когда я пытаюсь получить доступ к этому URL.
Ошибка 503 Служба Недоступна Услуга Недоступна Медитация Гуру: XID: 5312211 Лаковый кэш-сервер Я работаю над cpanel и поддоменом, но получил эту ошибку из проекта laravel. вы можете помочь мне.
При публикации веб-приложения из Visual Studio разработчик может столкнуться с некоторыми проблемами, и не всегда текст ошибки может помочь избавиться от проблем и правильно настроить сервер.
Ниже я опишу наиболее распространенные из них.
Надеюсь, что данная статья поможет сэкономить время, большое количество которого я потратил при изучении проблем.
Давайте попробуем развернуть приложение на чистый сервер Windows 2008 R2, на котором установлена роль «Web Server (IIS)».
1. Для этого в Visual Studio (у меня Visual Studio 2012 Professional) кликаем правой мышкой на проекте и выбираем пункт меню «Publish. »
Откроется окно мастера публикации, в котором нужно создать профиль
Вводим имя профиля (я назвал профиль также, как называется мой веб-сервер — «app10») и нажимаем кнопку «ОК».
Затем заполняем поля ввода и нажимаем кнопку «Validate Connection».
И тут начинается самое интересное.
2. Валидация завершилась с ошибкой.
Для того, чтобы посмотреть текст ошибки, нужно щелкнуть на гиперссылке «Failed (click for details)»
3. Первая ошибка:
Could not connect to the destination computer ("app10"). On the remote computer, make sure that Web Deploy is installed and that the required process ("The Web Management Service") is started.)
Студия не получила ответа от сервера.
Необходимо проверить настройки веб-сервера (в моем случае он имеет доменное имя «app10»), для чего необходимо зайти в Server Manager (у меня на сервере установлена англоязычная версия Windows 2008 R2, поэтому я буду писать английский наименования пунктов меню и заголовков окон).
4. Откройте диспетчер служб IIS и выберите узел с именем машины:
Я скрыл имя пользователя на скриншоте.
5. В разделе «Management» нужно проверить наличие пунктов «IIS Manager Permissions», «IIS Manager Users» и «Management Service».
У меня их нет, поэтому нужно установить.
Для этого щелкните правой мышкой на пункт «Web Server (IIS)» в левой части окна «Server Manager» и выберите пункт «Add Role Services».
Откроется окно выбора роли.
В разделе «Management Tools» отметьте пункт «Management Service» и нажмите кнопку «Next».
В следующем окне мастера добавления роли нажмите кнопку «Install».
Необходимо дождаться окончания процесса добавления роли и убедиться, что все прошло успешно:
Закрываем окно добавления роли и опять переходим к разделу «Management» (см. пункт 5).
Необходимые нам пункты появились.
6. Необходимо проверить, что Брендмауэр Windows не мешает установлению соединения.
Для этого откройте оснастку «Windows Firewall with Advanced Security», которая находится в меню «Пуск» — «Administrative Tools».
Необходимо убедиться, что входящие соединения на порт 8172 разрешены.
(У меня брендмауэр вообще отключен).
7. Необходимо убедиться, что Web Management Service слушает порт 8172.
Для этого откройте в настройках сервера дважды щелкните мышкой по пункту «Management Service»
В открывшемся окне проверьте, что указан порт 8172, а также разрешите удаленные подключения, установив галочку «Enable remote connection».
Если не поставить эту галочку, то в мастере публикации в Visual Studio будет возникать ошибка:
Could not connect to the remote computer ("app10") using the specified process ("The Web Management Service") because the server did not respond. Make sure that the process ("The Web Management Service") is started on the destination computer. The remote server returned an error: (403) Forbidden.
Теперь нажмите кнопку «Apply» с зеленой галочкой в правой части окна надстроек.
После применения настроек нажмите там же кнопку «Start», что приведет к запуску службы.
8. Переключаемся в Visual Studio и снова нажимаем кнопку «Validate Connection» в мастере публикации.
У меня открылась ошибка сертификата, но ее можно просто игнорировать и нажать кнопку «Accept», предварительно поставив галочку «Save this certificate for future sessions of Visual Studio».
9. После этого у меня возникла ошибка 404:
Could not connect to the remote computer ("app10"). On the destination computer, make sure that Web Deploy is installed and that the required process ("The Web Management Service") is started. The remote server returned an error: (404) Not Found.
Необходимо убедиться, что установлен инструмент «Microsoft Web Deploy 2.0».
Для этого пройдите в «Пуск» — «Control Panel» — «Programs and Features» и проверьте наличие установленного продукта «Microsoft Web Deploy 2.0».
Если его нет, то скачайте его отсюда и установите на сервере.
Во время установки нужно выбрать тип установки «Custom» и выбрать для установки все пункты, предлагаемые инсталлятором:
После чего обновите окно «Programs and Features» и он у вас появится.
10. После установки «Microsoft Web Deploy 2.0» необходимо перезапустить службу «Web Management Service».
Теперь нажимаем кнопку «Validate Connection» в мастере публикации в Visual Studio и ВУАЛЯ.
Проверка успешно пройдена.
Нажимаем кнопку «Next» дважды и публикуем приложение на веб-сервер, нажав кнопку «Publish».
UPDATE 03.08.2015
Если во время проверки соединения с сервером (при нажатии на кнопку «Validate Connection») возникает ошибка:
Could not complete an operation with the specified provider ("contentPath") when connecting using the Web Management Service.
необходимо в диспетчере служб IIS выбрать узел с именем машины и дважды кликнуть левой клавишей мыши на пункте «Management Service Delegation»:
Затем перезапускаем оснастку управления сервером и данный пункт появится.
В открывшемся окне необходимо добавить новое правило, нажав в правой верхней части на ссылку «Add Rule. » и выбрав пункт «Deploy Applications with Content» и нажав кнопку «ОК»:
В открывшемся окне необходимо указать пользователя, учетные данные которого вы используете для публикации из Visual Studio:
А также в выпадающем меню Providers необходимо дополнительно выбрать пункты «createApp» и «setAcl»:
После нажатия кнопки «ОК» откроется окно добавления пользователя.
Здесь в поле «Name» можно поставить * и нажать кнопку ОК:
После выполнения данных действий, окно правил «Management Service Delegation» будет иметь следующий вид:
И описанная ошибка исчезнет.
UPDATE 19.01.2017
Если во время проверки соединения с сервером (при нажатии на кнопку «Validate Connection») возникает ошибка:
Could not connect to the remote computer ("serverName") using the specified process ("Web Management Service") because the server did not respond. Make sure that the process ("Web Management Service") is started on the remote computer.
а в конце текста ошибки написано «The remote server returned an error: (550)».
Это говорит о том, что вы опечатались в параметре «Site name» в окне настроек публикации.
Проверьте имя сайта и сравните его с тем, куда публикуете своё приложение.
Я попытался запустить свой веб-сервис через визуальную студию. Я столкнулся с такой проблемой:
Итак, я попытался остановить и запустить службу вручную. Но процесс завершения отключен. Было бы полезно, если бы кто-нибудь мог помочь с этой проблемой
Код ошибки 0x80070020 означает ERROR_SHARING_VIOLATION , что в случае IIS Express (или IIS) означает, что порт, который он пытается прослушивать, используется другим процессом.
Используйте netstat команду, чтобы узнать, какое приложение использует порт.
a Параметр говорит NetStat , чтобы отобразить все соединения и порты прослушивания.
o Параметр говорит NetStat , чтобы отобразить идентификатор процесса , связанный с соединением.
Выполнение указанной выше команды netstat приведет к выводу, например:
Последнее отображаемое число (здесь 9544) - это идентификатор процесса.
Отличный ответ! Вы не только описываете решение, но и включаете значение параметров. Я бы хотел, чтобы все ответы были такими! Это помогло мне, и оказалось, что оскорбительный PID был Chrome.exe. Я перезапустил Chrome, и проблема исчезла. Отличный ответ. Используя это, я обнаружил, что Skype прослушивает и порт 80, и порт 443. Я отключил Skype и затем смог запустить iisexpress как обычно, теперь показывая мои дополнительные привязки для портов 80 и 443 работать в возвышенном CMD окна TASKKILL /PID 2756 /F замены 2756 с идентификатором процесса Это также можно сделать значительно быстрее с помощью -n переключателя - он использует «числовой» вывод, что означает, что он не тратит время на запросы DNS для преобразования IP-адресов в имена хостов.У меня возникла аналогичная проблема при попытке запустить проект из Visual Studio 2019 в Windows 10. Приложение не могло запуститься, поскольку порт явно использовался другим процессом. Однако netstat команда показала, что порт не используется ни одним приложением.
Проведя 2 дня в Google, я нашел решение, которое помогло мне. Порт, который я пытался использовать, находился в диапазоне исключенных портов, который вы можете увидеть, выполнив команду:
В моем случае эти порты зарезервированы виновниками Docker для Windows и Hyper-V.
Решение
Я удалил Docker (так как он мне не нужен) и отключил Hyper-V. Чтобы отключить Hyper-V: перейдите в: Панель управления-> Программы и компоненты-> Включение или отключение компонентов Windows. Снимите флажок Hyper-V и перезагрузите компьютер.
После перезапуска команда не netsh interface ipv4 show excludedportrange protocol=tcp показала зарезервированных портов.
Затем я добавил порт для своего приложения в исключенный диапазон портов, выполнив следующую команду из командной строки с повышенными привилегиями:
Затем я снова включил Hyper-V (Docker можно переустановить при необходимости) и снова перезагрузил компьютер.
Hyper-V теперь зарезервировал свои порты без вмешательства в порт, используемый моим приложением: зарезервированные диапазоны портов.
У меня это сработало, за исключением того, что мне нужен Docker, поэтому я просто отключил его при запуске, вместо того, чтобы удалять. Я закончил тем, что изменил свой порт за пределы исключенного диапазона . но ЭТО сэкономило мне массу времени. Спасибо. Как и @Cory, я изменил свой порт в vs, чтобы он был чем-то за пределами диапазона, что раздражает, потому что теперь мне приходится менять приложения-ссылки каждый раз, когда я это делаю, но лучше, чем полный перезапуск. Я искал это годами . Мне интересно, есть ли способ точно определить, какое приложение украло мои порты? Спасибо. Отключение Hyper-V и перезагрузка устранили это для меняУ меня такая же проблема. Я только что перезапустил Visual Studio, и все заработало.
Мой компьютер перезагрузился после обновления, и netstat не показала, что процесс использует порт. Это было единственное решение, которое сработало. Спасибо! На удивление перезапуск Visual Studio (2017) тоже сработал для меня. Спасибо! Похоже, это происходит со мной всякий раз, когда я запускаю проект в VS 2019 с отладкой с помощью F5, а затем пытаюсь запустить его без отладки с помощью Ctrl + F5, когда он терпит неудачу. Перезагрузка исправляет это, хотя я хотел бы вообще предотвратить это.Я была такая же проблема. Как упоминает @Kautsky Lozano выше, другое приложение использует этот порт.
Итак [для ОС Windows] просто:
- Откройте монитор ресурсов (Диспетчер задач -> Производительность -> Монитор открытых ресурсов)
- Щелкните вкладку Сеть .
- И в TCP Connections найдите приложение, которое использует локальный порт, который использует IIS Express, и закройте его. (в моем случае это был firefox)
Я столкнулся с той же проблемой после того, как мы обновили решение с Visual Studio 2012 до 2015 года. Я пришел сюда и побежал netstat только для того, чтобы обнаружить, что ни одно другое приложение не использует те же порты. Оказывается, у меня были одни и те же сайты с одинаковыми портами, отображенными в applicationhost.config at Users/<username>/Documents/IISExpress/config и applicationhost.config в .vs папке внутри моего решения. Следует отметить, что проблема возникла не сразу после обновления. Однажды утром он просто начал систематически давать сбой. Пара перезагрузок тоже не решила проблему.
Удаление конфликтующих сайтов из одного, хранящегося в моих документах, и перезапуск Visual Studio решили проблему.
Это помогло мне: он applicationhost.config находится в .vs\config папке в папке с вашим решением.Если netstat не показывает ничего, что уже использует порт
netstat -ano | findstr <your port number>
Порт может быть исключен, попробуйте эту команду, чтобы увидеть, не заблокирован ли диапазон чем-то еще:
netsh interface ipv4 show excludedportrange protocol=tcp
Вы можете попытаться разблокировать диапазон от начального порта для ряда портов (требуется командная строка с администратором):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
Другое приложение использует этот порт. Это может вам помочь
У меня была эта проблема, хотя netstat не показывал никаких конфликтов.
Следующее исправило это для меня:
После обновления Windows 10 и / или Visual Studio 16+ из-за внутренней ошибки IISExpress может не зарегистрировать какой-либо веб-сайт разработки, поскольку он больше не принимает localhost подключения.
Чтобы решить проблему, вам просто нужно снова зарегистрировать привязку. Для этого запустите из административной оболочки следующую команду:
У меня возникла эта проблема при обновлении проекта MVC . Я скопировал новый MVC .csproj поверх моего существующего .csproj файла, а затем вернулся к полностью рабочему проекту. Что я не учел, так это существующий номер порта в старом .csproj. У нового проекта был новый номер порта, но общее имя проекта / сборки. Этого было достаточно, чтобы IIS Express потерял рассудок и выбросил это исключение.
Самый простой способ сделать это, не заходя в командную консоль, - просто закрыть все приложения (включая VS), затем запустить VS самостоятельно и повторить попытку. Вероятно, конфликт вызывает другое приложение, например ваш браузер. В моем случае это вызвало Chrome и было решено при выключении всего и перезапуске VS. Я снова открыл Chrome, и все было хорошо.
Приведенный выше материал netstat полезен, но для меня это только в том случае, если вы не можете сделать то, что я предлагаю.
Обобщить все ответы. Есть 2 решения. Оба работали на меня. - Решение №1. Убейте приложение, использующее тот же порт. - Решение №2 Настройте IIS Express на использование другого порта для вашего проекта.
он возвращает: TCP 0.0.0.0:443 pe01:0 LISTENING 2904 последнее число (спасибо @ chris-schiffhauer) - это PID, который нужно убить. Перейдите в Диспетчер задач -> Процессы -> [Показать процессы от всех пользователей], завершите процесс с PID = 2904. В моем случае это был хост VmWare.
Либо поменяйте 433 на что-то другое, например, 4330 или удалите конфликтующий <binding. /> тег.
В моем случае помогло следующее:
- Удалите Сайт из .vs \\ config \ applicationhost.config
- Удалите сайт из Documents \ IISExpress \ config \ applicationhost.config
- Удалите IISUrl из .csproj
Когда я перезапустил Visual Studio, он присвоил проекту совершенно новый номер порта и отлично работал.
Номера портов не совпадают
В моем случае проблема была в моих тегах привязки, найденных в файле конфигурации в .vs в папке моего решения, номера портов не совпадали. Привязки были следующие
Итак, я удалил внутреннюю привязку и запустил свое веб-приложение, затем он сгенерировал новую привязку с другим номером, затем я скопировал новый сгенерированный порт в свои настройки, после чего ошибка исчезла.
На этот раз (у меня была эта проблема раньше, это была одна из многих причин, представленных в различных ответах здесь), это была причина.Мне удалось решить эту проблему, удалив все от тегов <site> до </site> в
Потратив полдня на решение этой же проблемы, я почувствовал, что должен добавить решение, которое в конечном итоге сработало для меня.
TL; DR Если netstat указывает, что проблемный элемент не используется, все же попробуйте несколько других из совершенно другого диапазона
Я сталкивался с этой проблемой раньше, но обычно перезапуск Visual Studio, смена портов (увеличение на 1) или перезагрузка делают свое дело. Однако в этом случае ничего из этого не помогло, и netstat не было обнаружено противоречивого процесса. Я даже переустановил IIS и Visual Studio и удалил несколько других программ, которые, как я подозревал, могли мешать. Казалось, что IIS пытался запустить несколько экземпляров одного и того же сайта.
В конце концов я попробовал бегать netstat без него findstr . Я визуально просмотрел список активных портов и заметил, что, хотя те, которые я пробовал, не указаны в списке, было несколько процессов, использующих порты из аналогичного диапазона. Поэтому вместо этого я поискал свободный диапазон, выбрал номер порта и, похоже, теперь работает.
Я хотел бы услышать, может ли кто-нибудь объяснить, почему это могло сработать?
Если ваше решение содержит простой старомодный веб-сайт (не веб-приложение), то номера портов также находятся в файле решения .sln- Закрыть визуальную студию
- удалить папку ".vs"
- Попробуйте изменить порт "localhost: 8080"
У меня это сработало.
Я выполнил инструкции @Zoti и использовал Resource Monitor, чтобы найти нужный порт.
Оказывается, Outlook был случайным образом назначен порт для канала связи. С точки зрения морали, это может быть что угодно.
Причина этой ошибки в том, что вы указываете неправильный номер порта своему приложению.
Читайте также: