Domanda sul file di configurazione del servizio WCF relativa a <baseAddresses>
-
09-06-2019 - |
Domanda
Da quello che ho visto il tag viene ignorato quando si ospita un servizio WCF in IIS.Capisco che quando è richiesto l'hosting autonomo, ma è dannoso o addirittura utilizzato quando si opera in IIS?
ex.
<system.serviceModel>
<service blah blah blah>
<host>
<baseAddresses>
<add baseAddress="http://localhost/blah" />
</baseAddresses>
</host>
</service>
</system.serviceModel>
Da quello che ho visto puoi prendere un file di configurazione che descrive un servizio da una macchina e usarlo su una macchina completamente diversa e funziona bene.Sembra che IIS ignori completamente questa sezione.
Grazie, Kyle
Soluzione
Come hai intuito, l'elemento baseAddresses viene completamente ignorato durante l'hosting in IIS.L'indirizzo di base del servizio è determinato dal sito Web e dalla directory virtuale in cui è inserito il servizio wcf.
Anche in caso di self-hosting, baseAddresses non è richiesto.È semplicemente una comodità che ti evita di dover inserire un indirizzo completo per ciascun endpoint.Se è presente, gli endpoint possono avere indirizzi relativi (relativi all'indirizzo di base, cioè).
Altri suggerimenti
indirizzo di base richiesto per il selfhosting.Gli host IIS/WAS ignorano l'indirizzo di base.
Secondo la documentazione MSDN Microsoft nel collegamento seguente, a metà della pagina nella sezione Nota si afferma: "I servizi ospitati in Internet Information Services (IIS) o Windows Process Activation Service (WAS) utilizzano la directory virtuale come indirizzo di base".
http://msdn.microsoft.com/en-us/library/ee358768(v=vs.110).aspx