<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>DanBlog</title>
        <link>http://blogs.ugidotnet.org/DanBlog/Default.aspx</link>
        <description>Il blog di Daniele Armanasco</description>
        <language>it-IT</language>
        <copyright>Daniele Armanasco</copyright>
        <managingEditor>armdan@libero.it</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>DanBlog</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/DanBlog/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>How I got Started in Software Development</title>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2008/07/22/93503.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-WEIGHT: normal; FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US; mso-bidi-font-weight: bold"&gt;A taggatura rispondo …&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;
&lt;/span&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;A quale età hai cominciato a programmare? &lt;br /&gt;
&lt;/span&gt;&lt;font face="Verdana"&gt;How old were you when you started programming?&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;A 14 anni.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;How did you get started in programming? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Come hai cominciato a programmare? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Mi sono fatto regalare il Commodore 64 per la Cresima ed ho iniziato a “smontare” e “rimontare” i programmi presenti nel manuale accluso; mi ci è voluto un momento per capire cosa significasse N = N +1, che dalla mia prospettiva “matematica” suonava proprio assurdo!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;What was your first language? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Qual’è stato il tuo primo linguaggio di programmazione? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;Basic del C64&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;What was the first real program you wrote? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Qual’è stato il primo programma vero che hai scritto? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Ricordo benissimo solo il primo che ho “copiato” dal manuale del C16 di mio cugino: doveva tracciare qualche cerchio colorato sulla televisione, ma non succedeva nulla. Dopo un’ora di verifica del codice copiato è arrivato il fratello di mio cugino e finalmente abbiamo scoperto che dovevamo digitare RUN per mandarlo in esecuzione!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;What languages have you used since you started programming? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Quali linguaggi hai usato da quando hai cominciato a programmare? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;Basic, GwBasic, Assembler x86, Pascal, C, C++, VB6, VB.Net, PHP, C#&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;What was your first professional programming gig? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Quando è stato il tuo primo vero lavoro da programmatore? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Ho creato un programma per la stampa del catalogo, illustrato, di un’azienda di abbigliamento. A parte la solita gestione di dati anagrafici, facile in Access, c’era una piccola procedura per caricare automaticamente le fotografie degli articoli secondo una qualche logica che non ricordo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;If you knew then what you know now, would you have started programming? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Con il senno di poi, rifaresti lo stesso il programmatore? Ricominceresti a programmare? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;Sì!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;If there is one thing you learned along the way that you would tell new developers, what would it be? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Se ci fosse una cosa che hai imparato nella tua carriera e che vorresti dire ai giovani programmatori, cosa diresti? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Puntate in alto quando dovete scegliere quali esperienze fare; ad abbassare il tiro siete sempre in tempo ed è più facile abbassarlo che cercare di alzarlo quando ormai siete “invischiati”. Il tutto però senza esagerare e senza fare gli snob.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;What's the most fun you've ever had ... programming? &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Qual’è la cosa più divertente che hai programmato? &lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Il (piccolissimo) videogioco che sto preparando per il mio primogenito Pietro, con cui spero impari un po’ di termini inglesi. La parte più divertente è che quando avrà risposto a tutte le domande mi toccherà regalargli la wii, e visto che sono il papà mi toccherà pure giocarci!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;Now, let’s tag someone else… &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ansi-language: EN-US"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Adesso è l’ora di taggare qualcun’altro…&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;span style="FONT-SIZE: 9.5pt; FONT-FAMILY: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;a href="http://www.ugimobile.org/blogs/mircovanini/default.aspx"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;Mirco Vanini&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt"&gt;&lt;a href="http://blogs.ugidotnet.org/Royv/Default.aspx"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;Roberto Valenti&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/93503.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2008/07/22/93503.aspx</guid>
            <pubDate>Tue, 22 Jul 2008 19:44:52 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/93503.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2008/07/22/93503.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/93503.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/93503.aspx</trackback:ping>
        </item>
        <item>
            <title>Thread asincrono e pagine asp.net</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2008/05/30/92875.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Contesto: devo lanciare un'operazione che può durare molto tempo eseguita da un metodo sincrono che non torna eventi (legacy). Devo fornire un &lt;/font&gt;&lt;font face="Arial"&gt;feedback all'utente (una sorta di pagina clessidra) e, a lavoro terminato, mostrare il risultato.&lt;br /&gt;
Soluzione adottata: creo una pagina per iniziare l'operazione e configurarne i parametri (pagina Start), una autorefreshante per comunicare che il &lt;/font&gt;&lt;font face="Arial"&gt;lavoro è in corso (pagina Wait) e una pagina per mostrare i risultati (pagina Results).&lt;br /&gt;
La pagina Start:&lt;br /&gt;
- mette in sessione un flag per indicare che il calcolo è in corso&lt;br /&gt;
- istanzia un delegate per richiamare il metodo sincrono con un nuovo thread; &lt;br /&gt;
- lancia il nuovo thread passando eventuali parametri del metodo, un riferimento al metodo di callback e un riferimento al caller stesso&lt;br /&gt;
- carica la pagina Wait&lt;br /&gt;
Il caller del MetodoLungo:&lt;br /&gt;
- a lavoro completato richiama il metodo di callback sulla pagina Start&lt;br /&gt;
Il metodo di callback (su Start):&lt;br /&gt;
- riaggancia il chiamante&lt;br /&gt;
- recupera il risultato del calcolo usando EndInvoke sul chiamante&lt;br /&gt;
- mette il risultato in sessione&lt;br /&gt;
- setta il flag in sessione per indicare che il calcolo è terminato&lt;br /&gt;
La pagina Wait:&lt;br /&gt;
- ha un tag meta (magari inserito da codice) per fare il refresh automatico&lt;br /&gt;
- verifica il flag in sessione per sapere quando passare alla pagina dei risultati&lt;br /&gt;
La pagina Results:&lt;br /&gt;
- recupera il risultato dalla sessione e lo mostra&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Codice:&lt;br /&gt;
pagina Start:&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;   public delegate TipoRisultatoCalcoloLungo MetodoLungoAsyncCaller(TipoParametro1MetodoLungo par1,   TipoParametro2MetodoLungo par2);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;    public partial class StartPage&lt;br /&gt;
    {&lt;br /&gt;
     ...&lt;br /&gt;
     void Toolbar1_ButtonClick(object sender, ToolbarEventArgs ea)&lt;br /&gt;
        {&lt;br /&gt;
              &lt;/font&gt;&lt;font face="Arial"&gt;Session[SessionConstants.SCAN_IN_PROGRESS] = true;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        // Create the delegate.&lt;br /&gt;
                        MetodoLungoAsyncCaller caller = new MetodoLungoAsyncCaller(MetodoLungo);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        // Initiate the asychronous call.  Include an AsyncCallback&lt;br /&gt;
                        // delegate representing the callback method, and the data&lt;br /&gt;
                        // needed to call EndInvoke.&lt;br /&gt;
                        IAsyncResult result = caller.BeginInvoke(valorePar1, valorePar2,&lt;br /&gt;
                            new AsyncCallback(CallbackMethod),&lt;br /&gt;
                            caller);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;                        // goto to "hourglass" page&lt;br /&gt;
                        Response.Redirect(WebFormsConstants.WAIT_ASPX);&lt;br /&gt;
        }&lt;br /&gt;
        ...&lt;br /&gt;
        // Callback method&lt;br /&gt;
        public void CallbackMethod(IAsyncResult ar)&lt;br /&gt;
        {&lt;br /&gt;
            // Retrieve the delegate.&lt;br /&gt;
            MetodoLungoAsyncCaller caller = (MetodoLungoAsyncCaller)ar.AsyncState;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;            // Call EndInvoke to retrieve the results.&lt;br /&gt;
            TipoRisultatoCalcoloLungo risultato = caller.EndInvoke(ar);&lt;br /&gt;
            Session[SessionConstants.RISULTATO] = risultato;&lt;br /&gt;
            // set flag in session to comunicate scan completed&lt;br /&gt;
            Session[SessionConstants.SCAN_IN_PROGRESS] = false;&lt;br /&gt;
         }&lt;br /&gt;
         ...&lt;br /&gt;
}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;pagina Wait:&lt;br /&gt;
protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
        {&lt;br /&gt;
            HtmlMeta meta = new HtmlMeta();&lt;br /&gt;
            meta.HttpEquiv = "refresh";&lt;br /&gt;
            meta.Content = "10";&lt;br /&gt;
            Header.Controls.Add(meta);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;            if ((Boolean)Session[SessionConstants.SCAN_IN_PROGRESS] == false)&lt;br /&gt;
                Response.Redirect(WebFormsConstants.RESULT_ASPX);&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;            Message1.Text = "In Progress";&lt;br /&gt;
        }&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;/font&gt; &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/92875.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2008/05/30/92875.aspx</guid>
            <pubDate>Fri, 30 May 2008 15:45:57 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/92875.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2008/05/30/92875.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/92875.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/92875.aspx</trackback:ping>
        </item>
        <item>
            <title>Meta tag per refresh automatico pagina</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2008/05/30/92874.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Promemoria:          &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;            System.Web.UI.HtmlControls.HtmlMeta meta = new System.Web.UI.HtmlControls.HtmlMeta();&lt;br /&gt;
            meta.HttpEquiv = "refresh";&lt;br /&gt;
            meta.Content = "5";  // secondi&lt;br /&gt;
            Header.Controls.Add(meta);&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/92874.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2008/05/30/92874.aspx</guid>
            <pubDate>Fri, 30 May 2008 15:30:29 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/92874.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2008/05/30/92874.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/92874.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/92874.aspx</trackback:ping>
        </item>
        <item>
            <title>Alternativo a cosa?</title>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2008/03/27/91916.aspx</link>
            <description>Alternativo a UGI, perché no? Non perché UGI non abbia un grandissimo valore per noi, ma perché a volte affrontare gli stessi argomenti con una prospettiva diversa permette di cogliere aspetti non colti prima.&lt;br /&gt;
Avete mai sentito parlare di GUISA? Tanti degli argomenti affrontati non esistevano già prima? Non sono stati trattati anche su UGI? Perché creare uno UG separato? Forse per mettere a fuoco certi aspetti in modo più efficace …&lt;br /&gt;
E’ giusto interrogarsi se sia più sensato mantenere prospettive diverse “integrate” per non disperdere energie o se sia meglio renderle indipendenti per farle prosperare. E’ una scelta che facciamo tutti i giorni, ad esempio scegliendo se investire tutto presso un’unica banca per avere maggior potere o presso banche diverse per minimizzare il rischio in caso qualcosa vada storto. &lt;br /&gt;
Alternativo a UGI anche in senso organizzativo: UGI ha una gerarchia abbastanza precisa mentre UGIALT ha una struttura più “a rete”; perché non sfruttare la peculiarità di entrambi per arrivare più lontano?&lt;br /&gt;
La vera alternativa però penso stia nel fatto di lavorare alla “frontiera”, su ciò che non è consolidato. Questo non vuol dire non conoscere o usare ciò che è assodato, ma voler essere un po’ “ricercatori” per passione.&lt;br /&gt;
UGI lo ha sempre fatto? Bene, però ritengo che UGI sia il riferimento generale per il mondo .net, per cui ritengo giusto tratti tutti gli argomenti, consolidati o meno e soprattutto con una prospettiva “generalista”.&lt;br /&gt;
Ho sempre beneficiato del “mainstream” di Microsoft, perché essendo poco esperto mi è sempre stato comodo avere delle linee guida precise da seguire. Ho sempre faticato ad abbandonare questa prospettiva perché le altre alternative erano moltissime e poco omogenee; mi ha sempre spaventato il mondo open source proprio perché ti ritrovi dinnanzi un oceano di tools di cui è difficile cogliere pregi e difetti. Secondo me l’iniziativa ALT.NET cerca di colmare questa lacuna portando un po’ di “ordine” in questo oceano sterminato, vagliando e facendo poi ricadere nel “mainstream” i tools migliori. Perché privarsene? Solo perché il nome si ricollega alle esperienze che avete di persone alternative a tutti i costi? Se poi sapete che in realtà gli stessi fondatori del movimento ritenevano più adeguato il nome Pragmatic.Net e hanno lasciato Alt.net solo per “questioni storiche”, perché tante polemiche?&lt;br /&gt;
Non sarebbe meglio intendere alternativo come la prima o la seconda definizione del garzanti (1. che si alterna; alternato: moto alternativo, che va ora in un verso, ora in quello opposto … 2. che pone un'alternativa, una scelta) piuttosto che come la terza (3. si dice di espressione o manifestazione culturale, politica, sociale che si contrappone a quelle correnti o dominanti)?&lt;br /&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/91916.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2008/03/27/91916.aspx</guid>
            <pubDate>Thu, 27 Mar 2008 23:35:17 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/91916.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2008/03/27/91916.aspx#feedback</comments>
            <slash:comments>23</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/91916.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/91916.aspx</trackback:ping>
        </item>
        <item>
            <title>NHibernate e i trigger di SQL Server</title>
            <category>NHibernate</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89701.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Tentando di aggiornare una entità persistita su una tabella di SQL Server dove è presente un trigger ottengo l'eccezione seguente e l'aggiornamento fallisce:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;[NHibernate.AdoNet.TooManyRowsAffectedException] {"Unexpected row count: 2; expected: 1"} NHibernate.AdoNet.TooManyRowsAffectedException&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;A quanto pare il fatto che il trigger aggiorni un altro record fa sì che il db ritorni 2 come numero di record aggiornati, il che fa pensare ad NH che ci sia stato un errore. Non ho trovato opzioni che dicano a NH di non verificare il numero di record aggiornati; sembra che l'unica soluzione consista nel disabilitare il conteggio dei record modificati nel trigger (impostare&lt;font face="Arial"&gt; SET NOCOUNT ON prima del comando di UPDATE nel trigger e impostare SET NOCOUNT OFF dopo il comando di UPDATE). Non ho trovato altre soluzioni.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/89701.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89701.aspx</guid>
            <pubDate>Thu, 15 Nov 2007 11:35:12 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/89701.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89701.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/89701.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/89701.aspx</trackback:ping>
        </item>
        <item>
            <title>Escape di caratteri speciali</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89700.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt; - stringhe classiche: &lt;/font&gt;&lt;font face="Arial"&gt;myString = "prova=\"aaa\"" (uso \)&lt;br /&gt;
 - stringhe con @: myString = @"prova=""aaa""" (raddoppio gli apici)&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/89700.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89700.aspx</guid>
            <pubDate>Thu, 15 Nov 2007 11:11:54 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/89700.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89700.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/89700.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/89700.aspx</trackback:ping>
        </item>
        <item>
            <title>New line</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89698.aspx</link>
            <description>&lt;font face="Arial"&gt;System.Environment.NewLine OPPURE "/r/n"&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/89698.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89698.aspx</guid>
            <pubDate>Thu, 15 Nov 2007 11:09:21 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/89698.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89698.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/89698.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/89698.aspx</trackback:ping>
        </item>
        <item>
            <title>Rimuovere elementi da una Collection su cui devo ciclare</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89697.aspx</link>
            <description>&lt;font face="Arial"&gt;
&lt;p&gt;&lt;br /&gt;
Siccome non posso rimuovere elementi da una collection mentre la sto scorrendo con un ciclo foreach, devo salvare gli elementi da eliminare in una lista temporanea e fare poi un altro ciclo, sulla lista temporanea, per rimuoverli:&lt;/p&gt;
&lt;p&gt;IList&amp;lt;Child&amp;gt; childrenToDelete = new List&amp;lt;Child&amp;gt;();                    &lt;br /&gt;
foreach (Child child in Father.Children)&lt;br /&gt;
{&lt;br /&gt;
   if (...)&lt;br /&gt;
      childrenToDelete.Add(child);&lt;br /&gt;
}&lt;br /&gt;
foreach (Child child in childrenToDelete)&lt;br /&gt;
   Father.Children.Remove(child);&lt;br /&gt;
                        &lt;/p&gt;
&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/89697.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89697.aspx</guid>
            <pubDate>Thu, 15 Nov 2007 11:02:03 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/89697.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89697.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/89697.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/89697.aspx</trackback:ping>
        </item>
        <item>
            <title>Implementare flags mediante operatori bitwise</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89696.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Innanzitutto dichiaro un enum con la lista dei possibili flag; è importante che l'enum abbia l'attributo [Flags] e che gli elementi della lista abbiano associato un valore che sia potenza di 2 (1, 2, 4, ...). Si possono definire fino a 32 elementi.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;[Flags] private enum Buttons : int &lt;br /&gt;
{&lt;br /&gt;
···Ok = 1, Cancel = 2, Retry = 4, Help = 8&lt;br /&gt;
}&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Tip: è possibile aggiungere alla enumerazione un elemento "All" così: All = Ok | Cancel | Retry | Help&lt;/p&gt;
&lt;p&gt;Attivare più flag: concatenali con l'operatore bitwise "|" (or):&lt;br /&gt;
Buttons buttons;&lt;br /&gt;
buttons = Buttons.Ok | Buttons.Cancel;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
Disattivare un flag: usa l'operatore bitwise "~" (not):&lt;br /&gt;
buttons &amp;amp;= ~Buttons.Cancel;&lt;/p&gt;
&lt;p&gt;Verificare se un flag è attivo: &lt;/p&gt;
&lt;p&gt;Testing to see if a certain flag is set: usa l'operatore bitwise "&amp;amp;" (and):&lt;br /&gt;
if ((buttons&amp;amp;Buttons.Ok)==Buttons.Ok)&lt;br /&gt;
···Console.WriteLine("Ok");&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/89696.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89696.aspx</guid>
            <pubDate>Thu, 15 Nov 2007 10:41:04 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/89696.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2007/11/14/89696.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/89696.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/89696.aspx</trackback:ping>
        </item>
        <item>
            <title>Interfacce</title>
            <category>Scoperte di un principiante</category>
            <link>http://blogs.ugidotnet.org/DanBlog/archive/2007/09/12/88284.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Sono comode per simulare l'ereditarietà multipla.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Esempio: il padre di un container può essere di tipo Grid o item; per poter castare il parent del container a &lt;/font&gt;&lt;font face="Arial"&gt;qualcosa e richiamare un metodo uguale su grid e item, ho dovuto definire una interfaccia &lt;/font&gt;&lt;font face="Arial"&gt;generica che prevede il metodo, specificare che grid e item la implementano, castare il parent &lt;/font&gt;&lt;font face="Arial"&gt;all'interfaccia e richiamare il metodo.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;public interface IGenericElement&lt;br /&gt;
    {&lt;br /&gt;
        GenericGrid Grid();&lt;br /&gt;
        IGenericElement Father();&lt;br /&gt;
    }&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;&lt;br /&gt;
public partial class GenericGrid : System.Web.UI.UserControl, IGenericElement&lt;br /&gt;
    {&lt;br /&gt;
        ...&lt;/p&gt;
&lt;p&gt;        public GenericGrid Grid()&lt;br /&gt;
        {&lt;br /&gt;
            return this; &lt;br /&gt;
        }&lt;/p&gt;
&lt;p&gt;        public IGenericElement Father()&lt;br /&gt;
        {&lt;br /&gt;
            return this; &lt;br /&gt;
        }&lt;br /&gt;
 ...&lt;br /&gt;
    }&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
    public partial class GenericContainer : System.Web.UI.UserControl, IGenericElement&lt;br /&gt;
    {&lt;br /&gt;
 ...&lt;br /&gt;
        public GenericGrid Grid()&lt;br /&gt;
        { &lt;br /&gt;
            return ((IGenericElement) Parent).Grid();&lt;br /&gt;
        }&lt;/p&gt;
&lt;p&gt;        public IGenericElement Father()&lt;br /&gt;
        {&lt;br /&gt;
            // container father could be a grid or an item&lt;br /&gt;
            return (IGenericElement) Parent; &lt;br /&gt;
        }&lt;br /&gt;
espongo una proprietà della griglia attraverso il container:&lt;br /&gt;
        public Boolean IsInList&lt;br /&gt;
        {&lt;br /&gt;
            get { return Grid().IsList ; }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;/p&gt;
&lt;p&gt;public abstract partial class GenericItemBase : System.Web.UI.UserControl, IGenericElement&lt;br /&gt;
    {&lt;br /&gt;
 ...&lt;br /&gt;
        public GenericGrid Grid()&lt;br /&gt;
        {&lt;br /&gt;
            return ((IGenericElement) Parent).Grid();&lt;br /&gt;
        }&lt;br /&gt;
        public IGenericElement Father()&lt;br /&gt;
        {&lt;br /&gt;
            // item father is always a container&lt;br /&gt;
            return (IGenericElement)Parent;&lt;br /&gt;
        }&lt;br /&gt;
espongo una property della grid attraverso l'item:&lt;br /&gt;
        public Boolean IsInList&lt;br /&gt;
        {&lt;br /&gt;
            get { return Grid().IsList; }&lt;br /&gt;
        }&lt;br /&gt;
espongo una property del container padre (item contenuti solo in container) attraverso l'item:&lt;br /&gt;
        public Boolean IsInNestedContainer&lt;br /&gt;
        {&lt;br /&gt;
            get { return ((GenericContainer) Father()).NestChildren; }&lt;br /&gt;
        }&lt;/p&gt;
&lt;p&gt;NOTA: l'interfaccia specifica metodi, non property.&lt;/p&gt;
&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/DanBlog/aggbug/88284.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Daniele Armanasco</dc:creator>
            <guid>http://blogs.ugidotnet.org/DanBlog/archive/2007/09/12/88284.aspx</guid>
            <pubDate>Wed, 12 Sep 2007 14:54:19 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/DanBlog/comments/88284.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/DanBlog/archive/2007/09/12/88284.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/DanBlog/comments/commentRss/88284.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/DanBlog/services/trackbacks/88284.aspx</trackback:ping>
        </item>
    </channel>
</rss>