Qualche giorno fa ho parlato di un possibile problema che si può avere usando una libreria per il “Full” Profile in un progetto che invece si appoggia al profilo Client.
Come detto, il Client Profile è la scelta consigliata quando sviluppiamo applicazioni client. Tuttavia, anche in questo caso spesso si ha necessità di usare classi che fanno parte del Full Profile. Ad esempio, se dobbiamo effettuare l’encode/decode di stringhe HTML e Url, è naturale pensare ai metodi della classe HttpServerUtility, che però è contenuta nell’assembly System.Web.dll, che non fa parte del Client Profile.
D’altra parte, può sembrare esagerato cambiare il target Framework solo per usare un paio di metodi. Per fortuna, il .NET Framework 3.5 (e versioni successive) include una classe compresa nel Client Profile (si trova nell’assembly System.dll) che permette di effettuare l’encode e il decode di una stringa HTML: System.Net.WebUtility. Nel caso di Url, invece, abbiamo a disposizione i metodi statici della classe Uri.
Il blog di Pete Brown riassume questa situazione e fornisce alcuni esempi di utilizzo dei metodi descritti.