Когда вы говорите, что не хотите развертывать два хоста службы, я предполагаю, что вы самостоятельно размещаете один ServiceHost в службе Windows. Я решил эту проблему, построив общий хост службы, который может содержать столько внутренних ссылок на сервисы, сколько я хочу (например, это новый ServiceHost для каждой записи сервиса в конфигурации). Таким образом, я могу гибко разместить столько служб в одной службе Windows, сколько мне нужно. Это решило бы вашу проблему, позволив вам отделить привязанную службу basicHttp от других, чтобы поддерживать WSDL в чистоте. Есть несколько примеров этого плавающего кода с открытым исходным кодом ( здесь 's one).
Единственный другой способ, которым я мог бы подумать, это представить собственную конечную точку метаданных, созданную из WsdlExporter (см. здесь )
Удачи!