Tra i vantaggi che si ottengono creando servizi attraverso Windows Communication Foundation vi è la possibilità di esporli attraverso molteplici binding (HTTP, net.tcp, ecc), sfruttando IIS e WAS.
L'unica scomodità richiesta è quella di dover distribuire anche il file svc su IIS per poter mappare l'estensione sul factory di WCF e attivare così il servizio. Questo file spesso contiene solo la direttiva del servizio da usare, perciò in WCF 4.0 è stata inserita la possibilità di specificare tramite web.config un mapping tra servizio, ServiceHostFactory e percorso virtuale da utilizzare, evitando di distribuire fisicamente il file svc.
Ecco quindi come specificare l'attivazione per Service.svc
<system.serviceModel> <serviceHostingEnvironment> <serviceActivations> <!-- Attivazione file less (togliere aspnet compatibility) --> <add service="ASPItalia.MyService" relativeAddress="~/Service.svc" /> </serviceActivations> </serviceHostingEnvironment> </system.serviceModel>
L'attributo relativeAddress non è obbligatorio perché può essere dedotto dal nome del servizio. Nel caso, come nello snippet, lo si specifichi, è necessario indicare l'estensione del file. Facoltativamente possiamo specificare, con l'attributo factory, il ServiceHostFactory da utlizzare.
E' importante sottolineare che non è possibile usare questo tipo di attivazione su servizi che fanno uso della AspNetCompatibility.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.