Ho un servizio WCF ospitato per cui ho creato un factory personalizzato, in modo che funzioni con più intestazioni host:Errore WCF: l'indirizzamento manuale è abilitato su questa fabbrica, quindi tutti i messaggi inviati devono essere preindirizzati
/// <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());
}
}
Sono quasi sicuro che i miei file di configurazione ora sono corretti, sia su client che su server (can be seen here).
L'errore che sto ottenendo sembra essere correlato alla fabbrica: indirizzamento
manuale è abilitato su questa fabbrica, in modo che tutti i messaggi inviati devono essere pre-affrontati.
public string GetData(int value) {
return base.Channel.GetData(value);
}
l'errore si verifica in linea return base.Channel.GetData(value);
.
Le risposte di cui sopra non hanno aiutato affatto. Grazie, – Matthias
Se l'endpoint ha specificato , è necessario utilizzare invece WebScriptEnablingBehavior, altrimenti si otterrà sempre lo stato "Faulted." –
Questo ha funzionato per me, ma ho anche dovuto aggiungere un riferimento usando WebHttpBehavior -> 'using System.ServiceModel.Description;' –