febbraio 2011 Blog Posts
Il 15 Marzo di terrà il 18° Workshop "Raf & Alk su C# 4, LINQ, Parallel Libraries e Micro Framework.NET": http://dotnetmarche.org/eventi/Default.aspx?IDevento=41 La versione semplice è che il sottoscritto e Gian Maria Ricci parleremo di C# 4.0 in tutte le salse. La versione completa è che sarà una vera e propria escalation nell’approfondire tutte le tematiche che girano intorno al linguaggio. Infatti, dopo un ampio ripasso di Gian Maria sulle caratteristiche più salienti di C# 3.0 (leggasi Linq, lambda expression ed expression tree), vedremo le nuove caratteristiche di C# 4.0. A dispetto della solita impostazione da manuale,...
Windows Identity Foundation è un argomento complesso ma rappresenta anche l'unico modo possibile di gestire il processo di autorizzazioni in un numero sempre maggiore di casi. Per esempio in reti non-solo-Windows, in scenari di tipo Cloud o più semplicemente quando i ruoli vanno stretti. Un altro buon motivo per evitare come la peste la security di WCF basata su ServiceSecurityContext è che è in obsolescenza. Chi era alla mia sessione ricorderà che ho sottolineato quanto i Claim di System.IdentityModel.Claims siano totalmente differenti e non compatibili con quelli di WIF che si trovano in Microsoft.IdentityModel.Claims. Invece di ipotizzare scenari...
Non bisogna mai dimenticare che un extension method è sempre e solo un metodo statico a cui passiamo un oggetto come primo parametro. Prendiamo in esame un banale (ed inutile) esempio di extension method: namespace Raf.Extensions
{
public static class StringExtensions
{
public static char GetFirstChar(this string text)
{
return text[0];
}
}
}
Per usarlo, dovremo solo referenziare il...
I namespace sono fondamentali perché consentono di discriminare due entità che hanno lo stesso nome. Nella vita reale in nostro namespace è il cognome (questo perché al Concilio di Trento quando sono è stato formalizzato l'uso dei cognomi, il guid non c'era ancora ). Nelle classi del Framework il namespace permette di disambiguare un Control tra System.Windows.Forms.Control, System.Windows.Controls e System.Web.UI. In WCF (ma non solo) il namespace è un Uri ma non necessariamente indica una risorsa esistente (vale a dire che il namespace http://schemas.iamraf.net/Calculator non deve essere una risorsa esistente in rete)....
Il Managed Extensibility Framework è un potente framework che permette di estendere in modo semplice le nostre applicazioni. È parte integrante del Framework 4.0 ed è disponibile al download per la versione 3.5 a questo link dove si trovano anche esempi molto interessanti, documentazione e discussioni proficue. Lo scenario che ho voluto indirizzare è di un servizio noto che vuole utilizzare dei plugin esterni. Tanto per capirci non è uno scenario (peraltro possibile) nel quale gli addin sono i servizi (implementazione del contrratto WCF) da esporre. Uno dei cardini di MEF è il catalog che si occupa di...
Di solito l'uso di WCF lo associamo ad applicazioni di una certa dimensione che dialogare tra tier differenti. Tutto bene ma c'è un problema che WCF non risolve rispetto a tecnologie più vecchiotte come COM e Remoting: la trasparenza. In COM e Remoting posso istanziare un oggetto in-process usandolo come se fosse stata fatta la new, quindi senza perdite di performance, oppure istanziarlo in un altro processo o su un altro pc. Dal punto di vista dell'utilizzatore, performance a parte, non c'è differenza cioè il suo uso è traparente. WCF per definizione non può realizzare la stessa cosa,...