<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>Allino</title>
        <link>http://blogs.ugidotnet.org/Allino/Default.aspx</link>
        <description>Il blog di Alessandro Valenti</description>
        <language>it-IT</language>
        <copyright>Alessandro Valenti</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <image>
            <title>Allino</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/Allino/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Costi computazionali Hash table vs Index b-tree</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2014/02/22/costi-computazionali-hash-table-vs-index-b-tree.aspx</link>
            <description>SHA e altri noti algoritmi Hash O(n) dove n dimensione input... se vuoi provare a tenere basse le collisioni...
&lt;p /&gt;
Hash table - Worst case O(n) ecco perchè adoro gli indici ad albero :-D...
&lt;p /&gt;
&lt;a href="http://en.wikipedia.org/wiki/Hash_table"&gt;http://en.wikipedia.org/wiki/Hash_table&lt;/a&gt;
&lt;p /&gt;
Chi gestisce il dato non si può permettere una tabella hash talmente grande da tenere il costo a O(1), per questo meglio mediare su strutture ad albero che garantiscono O(log n)

&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/101786.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2014/02/22/costi-computazionali-hash-table-vs-index-b-tree.aspx</guid>
            <pubDate>Sat, 22 Feb 2014 18:25:13 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2014/02/22/costi-computazionali-hash-table-vs-index-b-tree.aspx#feedback</comments>
            <slash:comments>387</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/101786.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/101786.aspx</trackback:ping>
        </item>
        <item>
            <title>Moduli Http Managed e POST request (vbs context)</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2013/11/07/moduli-http-managed-e-post-request-vbs-context.aspx</link>
            <description>Un classico errore di cui è difficile trovare documentazione è il seguente; quando un modulo Managed (IHttpModule) intercetta una chiamata POST e tenta a recuperare informazione dalla Context.Request sembra che rimuova il body dalla Request stessa, questo causa un errore nella successiva pipeline Unmanaged (VBS context).

L'errore viene causato dentro il modulo con un accesso del tipo:
Request["chiave"]

Semplicemente basta essere sicuri di accedere solo alla QueryString per risolvere l'errore:
Request.QueryString["chiave"]

In realtà come documentato in diversi post Request["chiave"] esegue una serie di probing tra cui in ordine QueryString e Form ecc...; quando avviene il probing su Form (utilizzato per recuperare i parametri POST) il modulo corrompe la request e quando da VBS si accede in modo diverso da QueryString.

Riassumendo, se da un Modulo Http acceddi ai parametri del body della richiesta POST quando il modulo processa queste variabili altera la Request stessa rendendola non più valida per il contesto VBS; non usare mai Request["chiave"] ma sempre Request.QueryString["chiave"]; se il modulo deve valutare le variabili POST... Vedremo quando mi capiterà ;) 

Scrivo questo post principalmente come reminder personale ;)
Essendo il mio il blog di riferimento.&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/101714.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2013/11/07/moduli-http-managed-e-post-request-vbs-context.aspx</guid>
            <pubDate>Thu, 07 Nov 2013 21:00:20 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2013/11/07/moduli-http-managed-e-post-request-vbs-context.aspx#feedback</comments>
            <slash:comments>2376</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/101714.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/101714.aspx</trackback:ping>
        </item>
        <item>
            <title>64bit Access&amp;Oracle</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2008/10/01/94228.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Questo post riguarda l'integrazione tra Oracle, Access su una piattaforma a 64bit!&lt;br /&gt;
In tutti i post del mondo spiegano come utilizzare Access su una piattaforma a 64bit compilando il nostro Assembly in X86 in modo che il Framework al momento del RUN forza l'eseguzione in WOW64 dove il supporto a Jet di Access è ancora supportato. Evito le polemiche sul perchè Microsoft non abbia fornito un Jet a 64bit ma va be', ci saranno motivi.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Il problema si ha quando il vostro exe/webapplication vuole accedere simultaneamente ad Oracle utilizzando ODAC Oracle.DataAccess.Client, i problemi più frequenti li troverete con BadImageFormat (che capita molto spesso se mettete il client a 64bit e nella vostra soluzione lasciate nel riferimento copialocalmente=true) oppure vi capita che non trovi la versione dell'assembly (che capita molto spesso se lasciate versionespecifica=true)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;br /&gt;
Come ho risolto:&lt;br /&gt;
Ho installato entrambi le versioni dell'Oracle Client in due ORACLE_HOME diverse ad esempio:&lt;br /&gt;
D:\oracle\product\10.2.0\client_1       VERSIONE NATIVA A 64BIT&lt;br /&gt;
D:\oracle\product\10.2.0\client_x86   VERSIONE A 32BIT IN EMULAZIONE WOW&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Ho installato entambi le versioni ODAC.NET facendo attenzione a selezionare l'ORACLE_HOME corretta per piattaforma&lt;br /&gt;
Alla fine dinalmente nella C:\WINDOWS\assembly mi trovo tutti i miei bellissimi Assembly&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://www.alessandrovalenti.it/images/OracleGAC.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Se non utilizzo Access allora compilo con AnyCPU e nella soluzione il riferimento ad Oracle.DataAccess ha copialocalmente = FALSE e versionespecifica = FALSE in modo che anche se sviluppo su una piattaforma a 32bit quando viene eseguita a 64 usa la versione corretta (2.102.3.2)&lt;br /&gt;
Se voglio utilizzare Access allora sono costretto ad andare in emulazione (X86) quindi con versionespecifica = TRUE lo forzo alla versione a 32bit (2.102.2.20) con la quale è stato compilato.&lt;/p&gt;
&lt;p&gt;Come si comporta adesso:&lt;br /&gt;
Se lo lascio ANYCPU prova ad andare a 64bit usa il client nativo 64bit per Oracle e si schianta sull'Access ma se non lo uso vado tutto nativo a 64bit :)&lt;br /&gt;
Se lo lancio compilato in X86 adesso grazie all'emulazione WOW64 riesce ad utilizzare correttamente sia il Driver Jet che l'Oracle.DataAccess a 32bit installato nella ORACLE_HOME client_x86\odp.net (Attenzione perchè l'assembly nella GAC lo ho inserito a mano!)&lt;/p&gt;
&lt;p&gt;La soluzione mi piace... NO, ancora non mi spiego perchè devo lavorare in emulazione per il fatto che mi hanno tolto il supporto di JET, voi vi chiederete perchè usi ancora Access... Io vi risponderò perchè fa quello per cui mi serve...&lt;/p&gt;
&lt;p&gt;Ciao&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/94228.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2008/10/01/94228.aspx</guid>
            <pubDate>Wed, 01 Oct 2008 23:36:53 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2008/10/01/94228.aspx#feedback</comments>
            <slash:comments>35</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/94228.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/94228.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Svolta :)</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2007/12/13/90274.aspx</link>
            <description>Oggi sono molto contento e mi sento molto OCA...&lt;br /&gt;
&lt;p&gt;Un saluto a tutti &lt;br /&gt;
Allino :)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/90274.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2007/12/13/90274.aspx</guid>
            <pubDate>Thu, 13 Dec 2007 22:59:25 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2007/12/13/90274.aspx#feedback</comments>
            <slash:comments>45</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/90274.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/90274.aspx</trackback:ping>
        </item>
        <item>
            <title>DateTime.ParseExact una funzione Statica che dà soddisfazione</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2007/06/19/82748.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial&gt;Sono veramente soddisfatto quando vedo che con una riga di codice si risolve uno dei problemi pi&amp;#249; macchinosi dell'informatica la gestione delle date rappresentate come stringhe, cambiare formati, validarne l'esattezza, il problema spinoso del cambio di formato; se fosse per me sarebbe tutto yyyyMMdd (ad esempio quando in SQL Server devi eseguire una Query su un campo Date puoi passarglielo come stringa racchiuso tra '' a patto di utilizzare il formato 'yyyyMMdd [HH:mm:ss[.millisecondi]]' ISO, attenzione alla precisione del campo Date con i millisecondi; invece guardando il Profiler quando usi il provider .NET con i Parameter le date vengono passate con un formato&amp;nbsp;verboso ma avranno i loro motivi).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Siccome io non detto ancora gli standard :) viviamo immersi tra le pi&amp;#249; disparate rappresentazioni tutte magnificamente mappabili con la funzione statica ParseExact &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Oggi mi sono trovato in uno dei casi di maggiore complessit&amp;#224; (mesi scritti con lettere) ed ho pensato di fare questo post principalmente per&amp;nbsp;promemoria &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;System.Globalization.CultureInfo dit = new System.Globalization.CultureInfo("it-IT");&lt;BR&gt;DateTime dData = DateTime.ParseExact(sData, "dd MMMM yyyy", &lt;FONT color=#008000&gt;dit.DateTimeFormat&lt;/FONT&gt;, &lt;FONT color=#000080&gt;System.Globalization.DateTimeStyles.AllowInnerWhite&lt;/FONT&gt;);&lt;BR&gt;sData = dData.ToString("yyyyMMdd");&lt;BR&gt;sData = dData.ToString("dd/MM/yyyy");&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Ad esempio con questi parametri ParseExact valida date &lt;BR&gt;6 OttOBRE 1977&lt;BR&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aprile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1977&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Si deve tenere presente le singole parti di questa funzione:&lt;BR&gt;1) Specificare la Culture per la codifica dei mesi altrimenti utilizza quella di default del sistema (principale problema per cui sulla tua macchina(italiano) funziona e sui server(inglesi) no... Anche questo argomento meriterebbe un post... Mettiamo tutto in Inglese o tutto in Italiano :) e no... sarebbe tutto troppo facile)&lt;BR&gt;2) System.Globalization.DateTimeStyles.AllowInnerWhite permette di validare date con spazi sistemati a caso nella data&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Ciao&lt;BR&gt;Allino&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/82748.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2007/06/19/82748.aspx</guid>
            <pubDate>Tue, 19 Jun 2007 17:54:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2007/06/19/82748.aspx#feedback</comments>
            <slash:comments>48</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/82748.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/82748.aspx</trackback:ping>
        </item>
        <item>
            <title>SO a 64bit e relativo Framework</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2007/06/07/80636.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial&gt;Ciao a tutti&lt;BR&gt;Nella mia attuale esperienza lavorativa mi trovo a lavorare con file di dimensioni molto superiori ai 2GB e mi sono scontrato spesso con il limite dell'heap gestito dal .NET Framework; per ora ho sempre "brillantemente" aggirato il problema seguendo le linee guida per risolvere questo problema, cio&amp;#232;, utilizzando l'XmlReader invece dell'XmlDocument, bufferizzare le letture e le scritture su filesystem, utilizzando il Database o addirittura implementando logiche di swap a filesystem di parte di un DataSet.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Oramai mi ero rassegnato a questa situazione poi ho pensato di provare su una VM il Sistema Operativo a 64bit con 4GB di RAM. Il test che ho effettuato era un "fantastico :)" exe che riempiva 1000 DataSet fino al OutOfMemoryException, alla fine di questo while true mi setta la relativa label per vedere il limite di memoria raggiunta dal processo...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (true) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; 1000; i++) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mMyData[i].MyDataTable.AddMyDataTableRow(sTesto, DateTime.Now);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (OutOfMemoryException exp) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lMemory = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lblSize.Text = lMemory.ToString();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;I risultati sono stati per me molto significativi in quanto mentre sulla versione a 32bit l'eccezzione veniva generata intorno ai 1,6GB di memoria&lt;BR&gt;sul sistema a 64 bit dopo&amp;nbsp;aver allocato intorno ai 3,4GB sono dovuto intervenire manualmente per bloccarlo in quanto aveva iniziato a swappare mandando in crisi il povero HD; vedendo superare il precedente limite di oltre il doppio (1,6GB -&amp;gt; 3,4GB), dal mio punto di vista, il test aveva avuto esito positivo spostando in alto il limite della memoria allocabile...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Per altro questo problema dei 2GB lo trovo molto spesso su Google a riguardo dell'argomento dei Reporting Services di SQL Server, sappiamo bene tutti che invece il motore relazionale di SQL Server ha una sua gestione a basso livello per indirizzare memoria oltre i limiti del Sistema Operativo (AWE memory, /3GB) e che comunque esistono versioni speciali "Data Center Edition" fatte su misura per gestire tutta la RAM, ma questi argomenti non fanno parte del mio post in quanto questo post riguarda il Framework.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Certo, mentre cercavo di risolvere il problema sul sistema a 32bit mi sono imbattuto in un forum dove si diceva che, comunque, si deve stare attenti in quanto anche nella versione a 64bit del Framework c'&amp;#232; un limite sugli array in quanto l'indice (dimensione max) &amp;#232; comunque rappresentato da un Int32, questo per dire che il limite probabilmente persiste ma di natura diversa.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;EM&gt;Attenzione, con questo post non voglio assolutamente fare passare l'idea che adesso tutto pu&amp;#242; stare in memoria e quindi carichiamo rusco e brusco ma almeno adesso se vogliamo utilizzare XPathNavigator invece di XmlReader e il vosto XML &amp;#232; di 3GB almeno assicuratevi che giri su un 64bit :)&lt;BR&gt;&lt;/EM&gt;A parte gli scherzi il mio &amp;#232; stato un test per un caso molto particolare e ribadisco che &lt;STRONG&gt;un'attenzione all'utilizzo della memoria DEVE essere un punto fondamentale nella stesura di&amp;nbsp;ogni applicativo&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Ciao a tutti&lt;BR&gt;Allino :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;PS: E' da un po' che non posto in quanto mi ultimamente mi st&amp;#242; dedicando ad altro (Oracle in particolare) ma sappiate che seguo sempre con attenzione questo blog. Approfitto per constatare la scelta di alcune colonne portanti&amp;nbsp;di questa comunit&amp;#224; di non mettere i loro post sul "Muro"; mi riferisco&amp;nbsp;in particolare a due colonne come Igor e Lorenzo&amp;nbsp;e chiedergli di ripensarci, tutti riconoscono i vostri meriti nella crescita di UGI&lt;/FONT&gt;&lt;FONT face=Arial&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Alcuni link:&lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/11/CLRInsideOut/default.aspx?loc=it"&gt;&lt;FONT face=Arial&gt;http://msdn.microsoft.com/msdnmag/issues/06/11/CLRInsideOut/default.aspx?loc=it&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://www.sql-server-performance.com/awe_memory.asp"&gt;&lt;FONT face=Arial&gt;http://www.sql-server-performance.com/awe_memory.asp&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/909678"&gt;&lt;FONT face=Arial&gt;http://support.microsoft.com/kb/909678&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/80636.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2007/06/07/80636.aspx</guid>
            <pubDate>Thu, 07 Jun 2007 13:59:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2007/06/07/80636.aspx#feedback</comments>
            <slash:comments>19</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/80636.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/80636.aspx</trackback:ping>
        </item>
        <item>
            <title>Response.OutputStream, aprire un CSV al posto di HTML</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2006/12/28/63423.aspx</link>
            <description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;Ciao a tutti&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Scrivo di un argomento di cui oramai si sa gia tutto ma serve soprattutto a me come promemoria; in particolare questa funzione serve per visualizzare un file CSV in pagina Web senza redirigere (Response.Redirect) la chiamata a un file CSV su FileSystem, ma leggendolo o scrivendolo direttamente in memoria per poi scriverlo sullo stream output della pagina ASPX (Page.Response).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;In particolare quando si adotta questa tecnica &amp;#232; fondamentale specificare il &amp;#8220;MIME type&amp;#8221;; per i file CSV &amp;#232; &amp;#8220;text/csv&amp;#8221;, aggiungendo l&amp;#8217;Header (AddHeader) possiamo specificare se Explorer caricher&amp;#224; il documento come &amp;#8220;attachment&amp;#8221; (aprendolo in una nuova window) o &amp;#8220;inline&amp;#8221;, in questo caso Explorer lo aprir&amp;#224; nella pagina ASPX corrente associato al flusso Response. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;MemoryStream&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt; ms = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;MemoryStream&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; COLOR: #2b91af; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;TextWriter&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt; tw = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;StreamWriter&lt;/SPAN&gt;(ms);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;foreach&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt; (&lt;SPAN style="COLOR: #2b91af"&gt;DataRowView&lt;/SPAN&gt; drv &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; dvRisulatiGrid) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;DataRow&lt;/SPAN&gt; dr = drv.Row;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; A = (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)dr[&amp;#8220;A&amp;#8221;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; B = (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)dr[&amp;#8220;B&amp;#8221;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; C = (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)dr[&amp;#8220;C&amp;#8221;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;tw.Write(A);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;tw.Write(&lt;SPAN style="COLOR: #a31515"&gt;";"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;tw.Write(B);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;tw.Write(&lt;SPAN style="COLOR: #a31515"&gt;";"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;tw.WriteLine(C);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;tw.Flush();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;FlushOutput(ms, &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="mso-ansi-language: EN-GB"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN lang=EN-GB style="mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Naturalmente nel MemoryStream ci sar&amp;#224; il contentudo del file CSV che verr&amp;#224; interpretato da Excel (o da qualsiasi altro programma associato).&amp;nbsp;Il CSV avr&amp;#224; il&amp;nbsp;classico formato A;B;C;&amp;lt;CRLF&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;private&lt;/SPAN&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; FlushOutput(&lt;SPAN style="COLOR: #2b91af"&gt;MemoryStream&lt;/SPAN&gt; ms, &lt;SPAN style="COLOR: blue"&gt;bool&lt;/SPAN&gt; bAttachment) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;try&lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.Clear();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.ClearContent();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.ClearHeaders();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BinaryWriter&lt;/SPAN&gt; bwriter = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;BinaryWriter&lt;/SPAN&gt;(Response.OutputStream);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.ContentType = &lt;SPAN style="COLOR: #a31515"&gt;"text/csv"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.BufferOutput = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (bAttachment) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.AddHeader(&lt;SPAN style="COLOR: #a31515"&gt;"Content-Disposition"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"attachment; filename=\"ExportResult.csv\""&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="COLOR: blue"&gt;else&lt;/SPAN&gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.AddHeader(&lt;SPAN style="COLOR: #a31515"&gt;"Content-Disposition"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #a31515"&gt;"inline; filename=\"ExportResult.csv\""&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;bwriter.Write(ms.ToArray());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;bwriter.Close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="COLOR: blue"&gt;catch&lt;/SPAN&gt; (&lt;SPAN style="COLOR: #2b91af"&gt;Exception&lt;/SPAN&gt; ex) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Error = ex.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;} &lt;SPAN style="COLOR: blue"&gt;finally&lt;/SPAN&gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Response.End();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-GB style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-GB; mso-no-proof: yes"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="mso-ansi-language: EN-GB"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN lang=EN-GB style="mso-ansi-language: EN-GB"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Questo meccanismo ci consente di sostituire il normale flusso HTML con un qualsiasi flusso binario come PDF, DOC, RTF specificando per ogni documento il suo MIME corretto.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;A href="http://www.iana.org/assignments/media-types/"&gt;&lt;FONT face="Courier New"&gt;http://www.iana.org/assignments/media-types/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;A href="http://www.asahi-net.or.jp/en/guide/cgi/mimetype.html"&gt;&lt;FONT face="Courier New"&gt;http://www.asahi-net.or.jp/en/guide/cgi/mimetype.html&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;A href="http://www.ltsw.se/knbase/internet/mime.htp"&gt;&lt;FONT face="Courier New"&gt;http://www.ltsw.se/knbase/internet/mime.htp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Grazie al MIME type Explorer sa a che applicativo associare lo stream binario per visualizzare correttamente il file dentro la nostra pagina di Explorer &lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;Ciao a tutti.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=Arial&gt;Allino&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/63423.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2006/12/28/63423.aspx</guid>
            <pubDate>Thu, 28 Dec 2006 13:08:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2006/12/28/63423.aspx#feedback</comments>
            <slash:comments>104</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/63423.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/63423.aspx</trackback:ping>
        </item>
        <item>
            <title>Workshop "Architecture Days" del 18/10</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2006/10/23/52317.aspx</link>
            <description>&lt;P&gt;Ciao a tutti, facendo i complimenti a tutti gli oratori in quanto hanno reso interessante un argomento "astratto" che per&amp;#242; risulta fondamentale per il "concreto" volevo chiedere &lt;STRONG&gt;dove posso trovare i lucidi delle presentazioni?&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Oggi st&amp;#242; combattendo una battaglia importante, la nuova ditta in cui lavoro come dipendente st&amp;#224; per scegliere se passare definitivamente a Java (gi&amp;#224; il 50% segue questo orientamento). Naturalmente io mi st&amp;#242; battendo per rimanere in .NET (le mie certificazioni MCAD stanno per&amp;nbsp;suicidarsi nel bagno... ieri ho preso in mano un progetto Java con Eclipse e non esprimo commenti... e pensare che la mia carriera &amp;#232; iniziata come sviluppatore Java 8 anni fa e mai avrei pensato di diventare un 100% pure microsoft convinto, vada per Oracle ma riadottare Java sarebbe un vero castigo...)&lt;/P&gt;
&lt;P&gt;Con questo Post chiedo anche un aiuto per trovare risorse che possano convincere i "capi" che la scelta di Java &amp;#232; quantomeno anacronistica... Certo alla domanda .NET va su qualsiasi piattaforma e qualsiasi HW posso solo argomentare con "nel futuro c'&amp;#232; MONO..." e in un mondo Enterprise... Chiss&amp;#224;...&lt;/P&gt;
&lt;P&gt;Ciao a tutti :)&lt;/P&gt;
&lt;P&gt;Anche se passer&amp;#242; 100% Java e Oracle mi terr&amp;#242; comunque aggiornato e non vi lascier&amp;#242;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/52317.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2006/10/23/52317.aspx</guid>
            <pubDate>Mon, 23 Oct 2006 11:53:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2006/10/23/52317.aspx#feedback</comments>
            <slash:comments>207</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/52317.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/52317.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Server 2005 Tipo XML</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2006/09/06/47444.aspx</link>
            <description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Preso dall'entusiasmo della nuova stagione ho iniziato a migrare me stesso verso i nuovi VS e SQL (2005, arrivo sempre dopo la puzza). Mentre sono entusiasto di VS che ha rispettato tutte le mie aspettative e forse anche di pi&amp;#249; (per ora non ho trovato rivoluzioni*) mi accingo a testare il nuovo tipo XML di SQLServer 2005, nella mia mente sono infuocatissimo perch&amp;#232; ora potrei (ma non dovrei) mettere tutti gli attributi in un unico campo XML, indicizzarlo e fare Query a manetta con XPath, che spettacolo, allora creo una tabella con un qualche attributo e il fantastico campo XML dove gli metto un grande indice.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff size=2&gt;COUNT&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(*)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FROM&lt;/FONT&gt;&lt;FONT size=2&gt; dbo&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT size=2&gt;TestXml &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;WHERE&lt;/FONT&gt;&lt;FONT size=2&gt; TestXml2&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'declare namespace PD="http://tempuri.org/Test.xsd"; /PD:Test[1]/PD:TableTest[1]/PD:Cognome[1]'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'VARCHAR(50)'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'VALENTI'&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;In una tabella con appena 200000 record e un XML del tipo&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#800000 size=2&gt;
&lt;BR&gt;
&amp;lt;Test xmlns=&amp;quot;http://tempuri.org/Test.xsd&amp;quot;&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;lt;TableTest&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Cognome&amp;gt;VALENTI&amp;lt;/Cognome&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Nome&amp;gt;ALESSANDRO&amp;lt;/Nome&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;CognomeNome&amp;gt;VALENTI ALESSANDRO&amp;lt;/CognomeNome&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;DataNascita&amp;gt;19771006&amp;lt;/DataNascita&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Attr1&amp;gt;0,389548152866563&amp;lt;/Attr1&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Attr2&amp;gt;0,940962524125801&amp;lt;/Attr2&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;Attr3&amp;gt;0,616221261032029&amp;lt;/Attr3&amp;gt;&lt;BR&gt;
&amp;nbsp;&amp;lt;/TableTest&amp;gt;&lt;BR&gt;
&amp;lt;/Test&amp;gt;&lt;BR&gt;
&lt;BR&gt;

&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Per trovarmi 1500 recod che rispondono alla query ci impiega circa 4 minuti su una macchina virtuale; la mia impressione &amp;#232; che faccia qualcosa di peggio di un table scan nonostante il piano di esecuzione faccia vedere cose strane tipo Join su indici cluster... Mah...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Ora nel mio piano certificativo c'&amp;#232; come prossimo obiettivo SQL2005&amp;nbsp;(devo ancora iniziare a studiare);&amp;nbsp;ma se nel mentre qualcuno conosce un modo intelligente per utilizzare le stringhe XPATH come parametro della WHERE (.value, .query) allora &lt;STRONG&gt;sarebbe bello se qualcuno &lt;/STRONG&gt;mi rispondesse e magari &lt;STRONG&gt;scrivesse un articolo su questo argomento&lt;/STRONG&gt;; invece ritengo performante utilizzare queste funzionalit&amp;#224; nei parametri della SELECT.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;* Per fortuna --&amp;gt; MSVS2005 non ci sono rivoluzioni ma solamente aggiunte :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#000000 size=2&gt;Un saluto a tutti&lt;BR&gt;Allino&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/47444.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2006/09/06/47444.aspx</guid>
            <pubDate>Wed, 06 Sep 2006 19:55:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2006/09/06/47444.aspx#feedback</comments>
            <slash:comments>25</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/47444.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/47444.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Inizia la nuova stagione</title>
            <link>http://blogs.ugidotnet.org/Allino/archive/2006/08/28/46776.aspx</link>
            <description>&lt;P&gt;Oggi comincia una nuova stagione lavorativa con una nuova e stimolante sfida, ebbene si', ho cambiato lavoro ma sempre legato a .NET&lt;/P&gt;
&lt;P&gt;Colgo l'occasione per salutare e ringraziare tutti i miei ex colleghi con cui ho condiviso gioie e dolori e divertenti trasferte. &lt;/P&gt;
&lt;P&gt;Un bacio a tutti!!! Mi mancherete! :)&lt;/P&gt;
&lt;P&gt;Allino&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/Allino/aggbug/46776.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Valenti</dc:creator>
            <guid>http://blogs.ugidotnet.org/Allino/archive/2006/08/28/46776.aspx</guid>
            <pubDate>Mon, 28 Aug 2006 09:50:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/Allino/archive/2006/08/28/46776.aspx#feedback</comments>
            <slash:comments>83</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Allino/comments/commentRss/46776.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Allino/services/trackbacks/46776.aspx</trackback:ping>
        </item>
    </channel>
</rss>