Вопрос: Первый запрос на IIS Express не работает с 503 недоступным сервисом, второй преуспевает


Каждый раз, когда я запускаю приложение ASP.Net MVC 3 из Visual Studio 2010, запускает IIS Express и оживляет IE. Запрос не работает с HTTP 503 Service Unavailable. Я ударил Refresh в IE, и запрос успешно завершен. Все последующие запросы выполняются до тех пор, пока я не остановлю отладку. В следующий раз, когда я начну отладку, первый запрос снова завершится.

Кто-нибудь еще испытал это?

В IISExpress \ applicationhost.config у меня есть:

<site name="ProjectName" id="6">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="c:\users\chris\dropbox\code\2010\SolutionName\ProjectName" />
    </application>
    <bindings>
            <binding protocol="http" bindingInformation="*:80:laptop" />
    </bindings>
</site>

У меня это в файле hosts:

127.0.0.1    laptop

И мой проект настроен на запуск с IIS Express, при этом Url Project установил:

http://laptop

Очень странно, что только первый запрос завершается неудачно, возможно, как будто Visual Studio не ждет достаточно долго, чтобы запустить IIS Express? Есть ли способ заставить его подождать?

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


4
2018-06-23 21:20


Источник




Ответы:


Поддержка IIS Express Сбой запроса и он включен по умолчанию. Журналы записываются в %IIS_USER_HOME%\TraceLogFiles который обычно находится в этом месте:

%USERPROFILE%\Documents\IISExpress\TraceLogFiles

В этой папке вы увидите список подпапок для каждого из проектов, которые вы запускали в IIS Express. В папке каждого сайта должна быть куча frXXXXX.xml файлов и freb.xsl файл.

Используя Firefox или Internet Explorer, откройте frXXXXX.xml файл (ы), у которого есть метка времени, ближайшая к тому, когда вы получаете эти 503 ошибки. После открытия вы увидите следующее:

enter image description here

Надеюсь, вы должны обнаружить причину ошибки 503.

Вы также можете попробовать и запустить IIS Express для вашего проекта вручную из командной строки:

C:\Program Files (x86)\IIS Express>iisexpress /path:"[PATH]" /port:16444

где [PATH] это путь файловой системы к папке проекта, содержащей код сайта, web.config и т. д., например, в вашем случае это будет:

c:\users\chris\dropbox\code\2010\SolutionName\ProjectName

Это может вызвать некоторые интересные ошибки, если IIS Express не сможет запустить сайт в первый раз.

В стороне вы также можете сказать Visual Studio о «Присоединении к процессу» и начать отладку таким образом.


12
2018-06-24 00:39





Первое и самое главное действие, которое вам нужно предпринять, - это определить, что на самом деле происходит.

Для этого включите подробные страницы ошибок для локальных запросов:

appcmd.exe set config -section:system.webServer/httpErrors -errorMode:DetailedLocalOnly /commit:apphost

Теперь все 400 и 500 запросов класса http заставят IIS отобразить гораздо более подробную страницу ошибок.


3
2018-06-23 21:35