У меня есть размещенная служба WCF, для которой я создал настраиваемую фабрику, так что это будет работать с несколькими заголовками хостов:Ошибка WCF: на этой фабрике разрешена ручная адресация, поэтому все отправленные сообщения должны быть предварительно адресованы
/// <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());
}
}
Я уверен, что мои конфигурационные файлы теперь правильные, как на клиенте, так и на сервере (can be seen here).
Ошибки я получаю по-видимому, связана с заводом:
Руководства адресации включено на этой фабрике, поэтому все сообщения, отправленные должны быть предварительно рассмотрены.
public string GetData(int value) {
return base.Channel.GetData(value);
}
Ошибка возникает по строке return base.Channel.GetData(value);
.
Ответы выше не помогли. ваше решение работает. Спасибо. – Matthias
Если конечная точка имеет , то вам нужно использовать WebScriptEnablingBehavior, иначе вы всегда получите «Faulted status». –
Это сработало для меня, но мне также пришлось добавить ссылку на использование для WebHttpBehavior -> 'using System.ServiceModel.Description;' –