Параллельный доступ - это то, что вы можете установить с помощью ServiceBehaviorAttribute. Есть несколько вариантов - вы можете сделать так, чтобы WCF создавал новый экземпляр вашего класса обслуживания для каждого входящего запроса, или вы можете иметь один экземпляр для обработки всех запросов. Кроме того, вы можете указать WCF, передавать ли вам запросы последовательно или одновременно.
WebServiceHost -> Связь WindowsService. На ум приходят два подхода: WCF поддерживает режим, называемый «хорошо известным экземпляром», в котором вы передаете экземпляр своего сервиса конструктору ServiceHost вместо того, чтобы передавать тип и разрешать WCF создавать его для вас. В этом режиме вы можете предварительно настроить экземпляр службы со ссылкой на код вашего хостинга (в качестве альтернативы вы можете использовать события). Альтернативой, если вы хотите сохранить гибкость создания экземпляров, было бы использование статического метода в вашем хост-коде, в который служба WCF могла бы обращаться обратно.
Несколько WebServiceHosts или Contracts - на самом деле нет преимущества иметь более одного экземпляра ServiceHost. см. также эту ветку SO: Каковы преимущества для нескольких сервис-хостов? Поддерживает ли один ServiceHost несколько одновременных соединений на одной конечной точке? .
WSDL - Хотя вы можете включить WSDL, включив публикацию метаданных (http://msdn.microsoft.com/en-us/library/ms788760.aspx), Поддержка WSDL предназначена для сервисов на основе SOAP, а не чистого HTTP GET / POST. WSDL, автоматически генерируемый для вашей службы, будет скорее всего, не очень полезно.