Deployare un servizio WCF con gli assembly
L’ultima volta vi ho fatto vedere quali accorgimenti bisogna attuare per deployare un servizio WCF su un hosting come WebHosting4Life. Il riassunto in breve è questo. Supponiamo di avere in hosting un url come il seguente:
http://www.miosito/wcf
La directory wcf deve essere impostata come .NET Application, su un application pool dedicato oppure condiviso con altre applicazioni. All’interno della directory wcf dobbiamo mettere il Service.svc ed il web.config che danno tutte le informazioni necessarie al .NET Framework per poter far partire il servizio WCF. Nel primo c’è il nome della classe che implementa il servizio, il nome della classe che implementa la factory per il servizio ed altre piccole e banali informazioni. Nel secondo c’è tutta la descrizione del servizio WCF: protocolli, endpoint, behaviors, etc.
A questo punto, avete due strade.
- Se volete deployare il servizio WCF con i sorgenti, create una directory App_Code dentro la directory wcf. In questa directory mettete tutti i sorgenti C# che una volta compilati generano il servizio. Se avete fatto una classe factory custom (necessaria per l’hosting su WH4L), dovete ovviamente mettere anche i sorgenti di questa.
- Se volete deployare il servizio WCF con l’assembly, ovvero con un file dll, create una directory bin dentro la directory wcf e qui dentro ci copiate tutti gli assemblies che volete.
Indipendentemente dalla modalità che avete seguito, alla fin fine potete raggiungere il servizio con un url di questo tipo:
http://www.miosito/wcf/Service.svc
Se volete raggiungere il WSDL che descrive il servizio, è sufficiente aggiungere ?wsdl all’url qui sopra e siete a posto. Penso che deployare assembly sia un po’ più efficiente, perchè usare i sorgenti richiede che questi vengano preventivamente compilati, mentre con il metodo (2) questo non è necessario. Ed inoltre ci sono tutta una serie di vantaggi, come proteggere il nostro codice e così via.
Technorati Tags: .NET hosting programming WCF