То, что вы на самом деле видите, это холодный старт вашего веб-приложения.Исключение «Служба не найдена» довольно быстро откроется, если вы не ударили по ней достаточно сильно, и вы начали ставить запросы на обслуживание сверх того, что было настроено для WCF.
Однако, если ваш сайт был выгружен (домен приложения и рабочий процесс), может потребоваться 20 секунд, чтобы перейти к коду, который создает канал для вашего сервиса.Так что это может быть чем-то замаскированным.
Если ваш веб-сайт и служба находятся в разных пулах приложений, то это происходит из-за необходимости холодного запуска веб-сайта и последующего холодного запуска службы, которые выполняются последовательно, а не одновременно.
Чтобы несколько облегчить это, вы можете использовать сервис keepalive / ping.Что-то, что просто постоянно попадает в URL, чтобы сохранить домен приложения в памяти и рабочий процесс живым (если не общим).По умолчанию IIS 6 отключает рабочий процесс после 20 минут бездействия, поэтому при поступлении первого запроса http.sys запускает новый рабочий процесс, который загружает платформу, которая загружает ваше приложение, и запускает конвейер, который выполняетваш код, который доставляет вашему пользователю.:)