«IIS позаботится о том, чтобы ускорить работу необходимого ServiceHost на основе вашего * .svc-файла - на самом деле вы не можете с этим справиться».
Не слишком близко к истине. Именно в SVC-файле вашего сервиса есть атрибут Factory. Где вы можете указать класс и сборку, где класс находится. Этот класс может быть вашим собственным потомком Web | DataServiceHostFactory
Таким образом, ваша разметка svc будет выглядеть так
<%@ ServiceHost
Language="C#"
Debug="true"
Service="name.space.myService"
CodeBehind="name.space.myService.svc.sc"
Factory = "name.space.WebServiceHostFactoryEx, assembly.name"
%>
WebServiceHostFactory будет создаваться для каждого обращения к службе и воссоздает ваш хост так, как вы этого хотите.
Вам также нужно унаследовать WebServiceHost и создать его так, как вам нужно, с определенными конечными точками, поведением, адресами и т. Д. Настройками - как вам угодно.
Здесь очень хороший пост от Микеле Бустаманте здесь
РЕДАКТИРОВАТЬ: я понял, что вышеуказанная ссылка больше не работает, так что здесь это еще одна .
Я использую это в среде IIS для нескольких служб, которые инициализируются одинаково.