У меня есть размещенная служба WCF, для которой я создал пользовательский factory, так что это будет работать с несколькими заголовками хостов:
/// <summary>
/// Required for hosting where multiple host headers are present
/// </summary>
public class MultipleHostServiceFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
List<Uri> addresses = new List<Uri>();
addresses.Add(baseAddresses[0]);
return base.CreateServiceHost(serviceType, addresses.ToArray());
}
}
Я уверен, что мои конфигурационные файлы теперь правы, как на клиенте, так и на сервере (можно увидеть здесь).
Ошибка, которую я получаю, по-видимому, связана с factory:
Ручная адресация включена в этом factory, поэтому все отправленные сообщения должны быть предварительно адресованы.
public string GetData(int value) {
return base.Channel.GetData(value);
}
Ошибка происходит в строке return base.Channel.GetData(value);
.