un indirizzo di base ("schema" una per - ad esempio uno per http
, uno per net.tcp
ecc) può definire la "base" del tuo indirizzo - che è davvero utile se si intende specificare più punti finali.
Un indirizzo di base è mai richiesto - è una cosa opzionale, che può aiutarti a semplificarti la vita.
Avere un indirizzo di base consente di specificare solo la parte "relativa" diversa per ogni indirizzo di servizio effettivo.
Immaginate che si desidera avere gli endpoint di tre servizi - o è possibile definire tutti a parte, completamente, in un qualcosa di configurazione simile a questo:
<service name="Test1">
<endpoint name="endpoint1"
address="http://yourserver/yourservices/test1/service1" ..... />
<endpoint name="endpoint2"
address="http://yourserver/yourservices/test1/service2" ..... />
<endpoint name="endpoint3"
address="http://yourserver/yourservices/test1/service3" ..... />
</service>
o è possibile definire le parti comuni specificando una base indirizzo e quindi avere più facili da leggere "relativi" indirizzi:
<service name="Test1">
<host>
<baseAddresses>
<add baseAddress="http://yourserver/yourservices/test1/"/>
</baseAddresses>
</host>
<endpoint name="endpoint1"
address="service1" ..... />
<endpoint name="endpoint2"
address="service2" ..... />
<endpoint name="endpoint3"
address="service3" ..... />
</service>
quindi, utilizzando un indirizzo di base può rendere più facile per specificare più endpoint - e si può risparmiare un po 'di battitura.
Inoltre: notare che gli indirizzi di base sono davvero utili solo se si è self-hosting il servizio WCF. Se si utilizza IIS per ospitare il servizio WCF, la posizione del file *.svc
determina realmente "l'indirizzo di base" del servizio, ad es. avere un indirizzo di base in questo caso non fa alcuna differenza/non aiuta affatto.
fonte
2012-12-28 13:28:23
Beh, mi sembra una buona domanda, è certamente qualcosa che sto cercando di trovare una risposta al momento e il fatto che sia una domanda valida è evidenziato dalla qualità della risposta di marc_s qui sotto. –