У меня есть управляемая служба Windows, в которой размещается несколько конечных точек WCF. Служба запускается автоматически при перезапуске ПК. После перезагрузки я считаю, что эта строка кода:Проблемы с конечными точками WCF, размещенные в службе Windows
ServiceHost wcfHost1 = new ServiceHost(typeof(WCFHost1));
в методе OnStart() службы занимает где-то между 15 - 20 секунд, чтобы выполнить. На самом деле у меня есть два таких утверждения, но второй выполняется в одно мгновение. Это первый, который занимает так много времени. Кто-нибудь знает, что может вызвать узкое место? Из-за этого иногда вызов превышает 30 секунд, и в результате SCM думает, что моя служба была отключена при попытке инициализировать себя. Теперь я знаю, что для меня легко просто открутить поток, чтобы сделать это, и сразу вернуться из OnStart(), но я хотел бы знать, что может вызвать эту задержку.
Это происходит только, когда служба запускается при перезагрузке ПК. Если ПК запущен и работает, служба запускает & останавливается менее чем за секунду.
Первый вызов ServiceHost.Open(), вероятно, настроил бы всю среду выполнения WCF и все - на вторую или две ... –
Какую версию Windows вы тестируете? –