BlogServiceHost.Create()

About Windows Communication Foundation & Co. - Il blog di Fabio Cozzolino

Personalizzare (e preservare) la classe proxy

Trovo sicuramente molto comodo il tool wsdl.exe per la generazione delle classi proxy di un web services, specialmente quando si devono fare lavori "on the fly". Talvolta, però, può non essere bastare la classe generata, vuoi perchè abbiamo bisogno di impostare i parametri in modo diverso, oppure eseguire validazioni, effettuare trasformazioni, impostare parametri di default, ecc... Cosa fare?

Dal mio punto di vista la via più diretta è quella di sfruttare un semplice quanto importante concetto: l'ereditarietà. Possiamo (e perchè no) ereditare dalla classe proxy e creare una classe derivata che fa tutto quello di cui abbiamo bisogno. Questo approccio permette, inoltre, di preservare le nostre modifiche, consentendoci di rigenerare, ogni qual volta lo vogliamo/dobbiamo, la classe proxy.

Se qualcuno conosce approcci differenti al problema, si faccia avanti Wink [;)]

Comments

Mighell said:

Ciao Fabio, ebbi il dubbio sul modificare o meno la classe proxy nel Dicembre 2004 da cui scaturì questo post sul mio blog: http://blogs.mindbox.it/mighell/archive/2004/12/12/284.aspx
Come giustamente dici (e come mi fa notare nientemeno che Paolo Pialorsi), si può ereditare dalla classe proxy generata dal tool. In tal modo la si preserva.
Un altra strada possibile però, è quella di sfruttare un nuovo elemento del Fx 2.0: i partial types. Non ho provato ma dovrebbe essere possibile aggiungere la parola chiave partial alla classe generata dal proxy ed "estenderla" con una seconda classe partial creata da noi.
Ciao
# March 22, 2006 10:27 AM