giugno 2006 Blog Posts
Questo articolo: http://msdn.microsoft.com/msdnmag/issues/04/10/NETMatters/, mostra come è possibile attendere la terminazione di un pool di thread. Viene fornita anche una classe di esempio, ThreadPoolWait, che rende il tutto ancora più semplice. Non è recentissimo, ma a me è stato di grande aiuto.
Se un metodo di un Web Service lancia un'eccezione, al client viene ritornato un errore di tipo SoapException. Questo tipo di eccezione consente di specificare dettagliate informazioni sul problema, in modo che l'utente del web service, ad esempio, possa sapere cosa non ha funzionato. Tuttavia, per specificare queste informazioni all'interno del messaggio SOAP, è necessario costruire "a mano" il messaggio di risposta in XML. Fortunatamente, questo articolo spiega come utilizzare le SoapException lanciate da un Web Service e come passare informazioni sull'errore dal server al client, nel pieno rispetto dello standard. C'è anche il link ad un wrapper già pronto, ma purtroppo sembra...
Tempo fa stavo cercando una libreria per utilizzare il protocollo Bluetooth in applicazioni .NET, e quasi per caso sono capitato sul sito http://32feet.net. Sulla Home page si legge questo testo: 32feet.NET is a project to make personal area networking technologies such as Bluetooth, Infrared (IrDA) and more, easily accessible from .NET code. E, in effetti, il materiale disponibile soddisfa in pieno le promesse: si tratta di un'insieme di librerie che consentono di gestire in maniera molto semplice, tra le altre cose, le periferiche Bluetooth e quelle ad infrarossi IrDA. Inoltre, sono supportati sia il Compact Framework sia il Framework "Full" (mentre il supporto...
Il metodo Activator.CreateInstance del .NET Compact Framework dispone di un'unica signature e non consente di specificare i parametri da passare al costruttore della classe che si sta creando. Poiché mi sono trovato in questa necessità, ho fatto una piccola ricerca ed ho trovato questo post: http://dotnet247.com/247reference/msgs/17/87045.aspx, che spiega come definire un Activator custom per Compact Framework utilizzando la Reflection. Spero che possa essere utile anche a qualcun'altro, come lo è stato per me.
Girando per il sito di MSDN, ho trovato un interessantissimo articolo: Stored Procedure Object Interface Layer. Esso fornisce una class library (completa di codice sorgente) che semplifica enormemente l'utilizzo di stored procedure da codice .NET. In pratica, consente di mappare le stored procedure direttamente su metodi .NET, incaricandosi di effettuare "dietro le quinte" tutti i passaggi di parametri e le conversioni necessarie.
Questo meccanismo, inoltre, si integra perfettamente con il data layer realizzato con RapTier (di cui ho parlato in un post precedente).
In questi giorni ho avuto la necessità di creare un data layer per un'applicazione abbastanza complessa. Su consiglio di un mio professore universitario, ho provato RapTier. Dopo averlo scaricato e installato, sono rimasto sorpreso dalla sua potenza: Una volta specificato quale database utilizzare, è sufficiente premere un tasto per ottenere automaticamente un data layer (sono supportati sia C# sia VB .NET) che permette di manipolare le informazioni in pieno stile object-oriented.
Ad esempio, se il database contiene una tabella di nome Clients, RapTier genera una classe di nome ClientsCollection che al suo interno contiene tutti i metodi necessari per recuperare, aggiungere, modificare...
Ciao a tutti!
Con questo post inauguro ufficialmente il mio blog, che utilizzerò per condividere con quante più persone possibile le mie esperienze di programmatore .NET. Se qualcuno si ricorda di me, tempo fa (più o meno fino all'anno scorso), gestivo il sito L'angolo del programmatore VB, che con un certo rammarico ho deciso di abbandonare per mancanza di tempo. Ora però voglio riprendere a farmi sentire, sperando di poter dare qualche contributo utile a chi, come me, con l'informatica vive e si diverte :-)
Ci sentiamo presto su queste pagine!