Позвольте мне посмотреть, правильно ли я понимаю: у вас есть одна реализация Service, которая предоставляется несколькими ServiceHosts, и вы хотите выполнить некоторую различную инициализацию для каждого servicehost? Или это для каждой конечной точки выставлено?
Мне кажется, что здесь есть несколько вариантов, но это зависит от того, что именно вы хотите сделать. Если инициализация для каждого хоста, то почему бы просто не использовать собственную реализацию ServiceHost и выполнить там инициализацию вместо службы?.
Я спрашиваю об этом, в частности, потому что из вашего описания не ясно, каков режим экземпляра вашего сервиса или когда вы хотите запустить сам код инициализации.
Если по какой-либо причине вы не можете этого сделать, другой вариант, который стоит изучить, может состоять в том, чтобы выполнить инициализацию в пользовательском IServiceBehavior во время ApplyDispatchBehavior (), где у вас есть доступ к хосту службы и описанию службы. *