<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>.NET</title>
        <link>http://blogs.ugidotnet.org/rgm/category/.NET.aspx</link>
        <description>.NET</description>
        <language>it-IT</language>
        <copyright>Gian Maria  Ricci</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>Per tutti gli sviluppatori Embedded</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2012/05/28/per-tutti-gli-sviluppatori-embedded.aspx</link>
            <description>&lt;p&gt;Se siete sviluppatori Embedded, o vi interessa comunque l’argomento sta per arrivare una serie di webcast sull’argomento Windows Embedded Standard7 con delle anteprime sulla nuova versione che sarà basato su Win8. Le sessioni saranno fatte dal caro amico &lt;a href="https://mvp.support.microsoft.com/profile/Valter.Minute"&gt;&lt;strong&gt;Valter Minute&lt;/strong&gt;&lt;/a&gt; e vi guideranno sul come realizzare applicazioni, ma soprattutto come “ritagliare” il sistema operativo in modo che soddisfi le esigenze della vostra applicazione.&lt;/p&gt;  &lt;p&gt;Maggiori dettagli li potete trovare nella pagina di iscrizione &lt;a href="http://www.arroweurope.com/news-events/arrow-events/detail/article/arrow-ocs-and-adeneo-embedded-windows-embedded-standard-7-webinars.html"&gt;&lt;strong&gt;Windows Embedded for Application Developers&lt;/strong&gt;&lt;/a&gt;, il primo della serie è il 6 giugno, per cui non perdete tempo :).&lt;/p&gt;  &lt;p&gt;Gian Maria.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/101021.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2012/05/28/per-tutti-gli-sviluppatori-embedded.aspx</guid>
            <pubDate>Mon, 28 May 2012 10:18:23 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2012/05/28/per-tutti-gli-sviluppatori-embedded.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/101021.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/101021.aspx</trackback:ping>
        </item>
        <item>
            <title>Perch&amp;eacute; non uso generatori di codice con Nhibernate</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2011/11/30/percheacute-non-uso-generatori-di-codice-con-nhibernate.aspx</link>
            <description>&lt;p&gt;Talvolta mi viene chiesto se conosco qualche generatore di codice per NHibernate, ovvero qualche cosa che possa partire da un database e possa generare classi e mapping in modo da essere operativi con NH in poco tempo. Sinceramente ne conosco qualcuno, ma non li ho mai usati.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;My Generation: &lt;a title="http://www.mygenerationsoftware.com/portal/default.aspx" href="http://www.mygenerationsoftware.com/portal/default.aspx"&gt;http://www.mygenerationsoftware.com/portal/default.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;NHGen: &lt;a title="http://sourceforge.net/projects/nhgen/" href="http://sourceforge.net/projects/nhgen/"&gt;http://sourceforge.net/projects/nhgen/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Devart: &lt;a title="http://www.devart.com/entitydeveloper/nhibernate-generator.html" href="http://www.devart.com/entitydeveloper/nhibernate-generator.html"&gt;http://www.devart.com/entitydeveloper/nhibernate-generator.html&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;NHDesigner: &lt;a title="http://www.mindscapehq.com/products/NHDesigner/default.aspx" href="http://www.mindscapehq.com/products/NHDesigner/default.aspx"&gt;http://www.mindscapehq.com/products/NHDesigner/default.aspx&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;La ragione è forse in &lt;a href="http://blogs.ugidotnet.org/rgm/archive/2011/11/29/cosa-mi-piace-di-entity-framework.aspx"&gt;questo post&lt;/a&gt;, se ho già un databse fatto, la cui struttura non verrà modificata troppo spesso, Entity Framework mi permette una più rapida operatività, ma mi genera un object model che è tutto tranne che OOP. Ripeto infatti quello che ho scritto tempo fa, per me EF è ancora un Super-Dataset, anche se la direzione che sta prendendo è decisamente interessante.&lt;/p&gt;  &lt;p&gt;In realtà la ragione vera è che se voglio un ORM con tutti i crismi, come NH, allora è perchè voglio lavorare Entity First, e l’ORM dovrebbe permettermi di usare un DB SQL nella maniera più trasparente possibile. Se mi trovo a dovere generare il modello dal DB, significa che mi basta un dataset.&lt;/p&gt;  &lt;p&gt;La seconda ragione è che ogni generatore di codice genera &lt;em&gt;quello che gli pare&lt;/em&gt;, mentre io ho le mie classi base, i miei pattern per le proprietà, etc etc, e non mi piace che le classi di Dominio, ovvero quelle dove &lt;em&gt;dovrebbe&lt;/em&gt; stare la logica, vengano generate su uno schema imposto da chi ha fatto il generatore. (questo anche se poi con le partial class posso andare ad “aggiungere” alle classi generate).&lt;/p&gt;  &lt;p&gt;Insomma, se dovete generare classi da db, magari EF è la soluzione migliore.&lt;/p&gt;  &lt;p&gt;Gian Maria.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/100573.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2011/11/30/percheacute-non-uso-generatori-di-codice-con-nhibernate.aspx</guid>
            <pubDate>Wed, 30 Nov 2011 11:24:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2011/11/30/percheacute-non-uso-generatori-di-codice-con-nhibernate.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/100573.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/100573.aspx</trackback:ping>
        </item>
        <item>
            <title>Cosa mi piace di Entity Framework</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2011/11/29/cosa-mi-piace-di-entity-framework.aspx</link>
            <description>&lt;p&gt;Leggendo &lt;a href="http://ayende.com/blog/137217/nhibernate-vs-entity-framework-usage?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+AyendeRahien+%28Ayende+%40+Rahien%29"&gt;questo post&lt;/a&gt; di Ayende concordo sul fatto che EF è sicuramente utile se ho un database legacy che debbo principalmente leggere, o dove non devo modificare troppo i dati. Con due click infatti si può importare tutta la struttura e iniziare subito a lavorarci, con un prodotto che è comunque molto migliore di un Dataset.&lt;/p&gt;  &lt;p&gt;La cosa che non mi è mai piaciuta di EF Designer, è che se il db è in continua evoluzione è un po “goffo” da gestire, ma se debbo “leggere” da un db esistente mi garantisce l’operatività in un paio di minuti, fattore che trovo decisamente interessante.&lt;/p&gt;  &lt;p&gt;Gian Maria.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/100572.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2011/11/29/cosa-mi-piace-di-entity-framework.aspx</guid>
            <pubDate>Tue, 29 Nov 2011 11:22:59 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2011/11/29/cosa-mi-piace-di-entity-framework.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/100572.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/100572.aspx</trackback:ping>
        </item>
        <item>
            <title>Windows 8 preview</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2011/09/14/windows-8-preview.aspx</link>
            <description>&lt;p&gt;Penso che oramai tutti lo sappiano, la potete scaricare qui.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/home/"&gt;http://msdn.microsoft.com/en-us/windows/home/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ci sono in giro anche interessanti articoli su come provarla mettendola su ferro senza il rischio di distruggere la vostra partizione primaria &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.hanselman.com/blog/GuideToInstallingAndBootingWindows8DeveloperPreviewOffAVHDVirtualHardDisk.aspx" href="http://www.hanselman.com/blog/GuideToInstallingAndBootingWindows8DeveloperPreviewOffAVHDVirtualHardDisk.aspx"&gt;http://www.hanselman.com/blog/GuideToInstallingAndBootingWindows8DeveloperPreviewOffAVHDVirtualHardDisk.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Buon Build.&lt;/p&gt;  &lt;p&gt;Gian Maria&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/100341.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2011/09/14/windows-8-preview.aspx</guid>
            <pubDate>Wed, 14 Sep 2011 17:35:30 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2011/09/14/windows-8-preview.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/100341.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/100341.aspx</trackback:ping>
        </item>
        <item>
            <title>Sql Server Code name &amp;ldquo;Denali&amp;rdquo;</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2011/07/15/sql-server-code-name-ldquodenalirdquo.aspx</link>
            <description>&lt;p&gt;E’ finalmente uscita la CTP3 di SQL Server codename “Denali”, per chi fosse interessato potete trovare un &lt;a href="http://click.email.microsoftemail.com/?qs=df4278936ca326fd69ba7a17cf3b0fff5af0efe6dbcd86c47dc47149cac94df2d92ada0106d8544b"&gt;witepaper sull’argomento&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Le novità in pentola per SQL-Server sembrano molte, anche per noi developer. Con i &lt;a href="http://msdn.microsoft.com/en-us/data/gg427686"&gt;developer tools codename “juneau”&lt;/a&gt; vengono introdotte feature molto interessanti, soprattutto leggiamo dalla pagina di MSDN di juneau (&lt;a href="http://msdn.microsoft.com/en-us/data/gg427686"&gt;http://msdn.microsoft.com/en-us/data/gg427686&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Developers will also appreciate the familiar VS tools we bring to database development, specifically; code navigation, IntelliSense, language support that parallels what is available for C# and VB, platform-specific validation, debugging and declarative editing in the TSQL Editor, as well as a visual Table Designer for both database projects and online database instances.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Stay tuned.&lt;/p&gt;  &lt;p&gt;Alk&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/100217.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2011/07/15/sql-server-code-name-ldquodenalirdquo.aspx</guid>
            <pubDate>Fri, 15 Jul 2011 10:36:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2011/07/15/sql-server-code-name-ldquodenalirdquo.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/100217.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/100217.aspx</trackback:ping>
        </item>
        <item>
            <title>Async CTP refresh</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2011/05/10/async-ctp-refresh.aspx</link>
            <description>&lt;p&gt;Debbo dirlo, sono un appassionato &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4738205D-5682-47BF-B62E-641F6441735B&amp;amp;displaylang=en"&gt;dell’Async CTP&lt;/a&gt; ed una delle cose che mi piace di più è che appena installato hai subito la possibilità di vedere degli esempi di codice, tra cui il mitico 101 c# async samples. (lo trovate tra i samples, uno degli aspetti più interessanti è che di esempi ce ne sono veramente tanti)&lt;/p&gt;  &lt;p&gt;La cosa interessante di questo esempio è che mostra come una certa operazione asincrona può essere fatta con l’aiuto di &lt;strong&gt;async&lt;/strong&gt; e come invece la faremmo in C# 4.0, questo fa capire veramente bene come il codice sia veramente molto, ma molto più semplice. Per esempio quando facciamo una richiesta con un WebRequest è buona norma farla asincrona.&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AsyncIntroSingleBefore()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     var client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     client.DownloadStringCompleted += AsyncIntroSingleBefore_DownloadStringCompleted;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     client.DownloadStringAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AsyncIntroSingleBefore_DownloadStringCompleted(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, DownloadStringCompletedEventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     WriteLinePageTitle(e.Result);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ok il codice non è molto, basta gestire un evento e usare il DownloadStringAsync, ed il gioco è fatto… ma con l’Async CTP è molto più semplice.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; async &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AsyncIntroSingle()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     WriteLinePageTitle(await &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient().DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov"&lt;/span&gt;)));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Non si può non apprezzare il codice molto più coinciso. Ma la vera potenza è quando dovete fare piu operazioni asincrone, ad esempio caricare tre pagine in sequenza&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; async &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AsyncIntroSerial()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     var client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     WriteLinePageTitle(await client.DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov"&lt;/span&gt;)));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     WriteLinePageTitle(await client.DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov/climate/"&lt;/span&gt;)));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     WriteLinePageTitle(await client.DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov/rss/"&lt;/span&gt;)));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;o ancora meglio, in parallelo.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; async &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; AsyncIntroParallel()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     Task&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; page1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient().DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     Task&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; page2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient().DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov/climate/"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     Task&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; page3 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WebClient().DownloadStringTaskAsync(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;"http://www.weather.gov/rss/"&lt;/span&gt;));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     WriteLinePageTitle(await page1);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     WriteLinePageTitle(await page2);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     WriteLinePageTitle(await page3);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Vale la pena decisamente di studiarci sopra &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/rgm/Windows-Live-Writer/Async-CTP-refresh_11577/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;

&lt;p&gt;alk.&lt;/p&gt;

&lt;p&gt;Tags: &lt;a href="http://technorati.com/tag/Async" rel="tag"&gt;Async&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.ugidotnet.org/rgm/archive/2011/05/10/async-ctp-refresh.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.ugidotnet.org/rgm/archive/2011/05/10/async-ctp-refresh.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/100010.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2011/05/10/async-ctp-refresh.aspx</guid>
            <pubDate>Tue, 10 May 2011 20:13:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2011/05/10/async-ctp-refresh.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/100010.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/100010.aspx</trackback:ping>
        </item>
        <item>
            <title>Lab Management</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2010/03/20/lab-management.aspx</link>
            <description>&lt;p&gt;Una delle novità più succose del TFS2010 sono i Lab Management. Per chi ancora non sapesse di cosa si stia parlando &lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/11/visual-studio-lab-management-videos.aspx"&gt;qui potete trovare una serie di video&lt;/a&gt; (sono brevi di circa 5 min l’uno e si guardano in un attimo) che fanno una overview di cosa sia e come si possa usare Lab Management.&lt;/p&gt;  &lt;p&gt;Vale la pena darci uno sguardino, anche solo per vedere di cosa si tratta. Per chi poi avesse voglia di provarli “live”, qui trovate una bella &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=592E874D-8FCD-4665-8E55-7DA0D44B0DEE&amp;amp;displaylang=en"&gt;macchina virtuale&lt;/a&gt; già pronta, ma attenzione, non è di quelle che apri il Virtual PC, la lanci e va :) necessitate di avere una macchina Hyper-V, per cui magari se avete Windows 7 utilizzate &lt;a href="http://www.codewrecks.com/blog/index.php/2010/02/27/lab-management-vdh-up-and-running/"&gt;il boot from VHD&lt;/a&gt;, installatevi un bel Server 2008 R2 e &lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/12/one-box-lab-management-walkthrough.aspx"&gt;partite da questo tutorial&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;alk.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.ugidotnet.org/rgm/archive/2010/03/20/lab-management.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.ugidotnet.org/rgm/archive/2010/03/20/lab-management.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/98234.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2010/03/20/lab-management.aspx</guid>
            <pubDate>Sat, 20 Mar 2010 10:53:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2010/03/20/lab-management.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/98234.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/98234.aspx</trackback:ping>
        </item>
        <item>
            <title>Una mini ui per vsdbcmd.exe</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2009/10/14/una-mini-ui-per-vsdbcmd.exe.aspx</link>
            <description>&lt;p&gt;Per chi lavora con i Database Project di Visual Studio (Developer edition o Team Suite), l’utility vsdbcmd.exe sarà già nota. Il vsdbcmd.exe è infatti quel programma a linea di comando che vi permette di aggiornare il database di deploy all’ultima versione risultante dalla compilazione di un Database Project. Questo programma è redistribuibile e gratuito, ma manca di interfaccia grafica.&lt;/p&gt;  &lt;p&gt;Per risolvere a questo problema potete consultare &lt;a href="http://blog.benday.com/archive/2009/08/22/23239.aspx"&gt;questo post&lt;/a&gt; di Benjamin Day che contiene il link ad una utility scritta da lui che fornisce un’interfaccia grafica al vsdbcmd.exe e lo rende decisamente più piacevole da usare.&lt;/p&gt;  &lt;p&gt;alk.&lt;/p&gt;  &lt;p&gt;Tags: &lt;a href="http://technorati.com/tag/Database Project" rel="tag"&gt;Database Project&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.ugidotnet.org/rgm/archive/2009/10/14/una-mini-ui-per-vsdbcmd.exe.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.ugidotnet.org/rgm/archive/2009/10/14/una-mini-ui-per-vsdbcmd.exe.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/97258.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2009/10/14/una-mini-ui-per-vsdbcmd.exe.aspx</guid>
            <pubDate>Wed, 14 Oct 2009 17:49:19 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2009/10/14/una-mini-ui-per-vsdbcmd.exe.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/97258.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/97258.aspx</trackback:ping>
        </item>
        <item>
            <title>TFS distribuito come macchina virtuale</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2009/10/07/tfs-distribuito-come-macchina-virtuale.aspx</link>
            <description>&lt;p&gt;In &lt;a href="http://blogs.msdn.com/bharry/archive/2009/10/06/thinking-about-the-future-of-tfs-installation.aspx"&gt;questo post&lt;/a&gt;, Brian Harry chiede cosa ne pensate sull’avere il tfs distribuito anche come Virtual Appliance. L’opzione è decisamente interessante, visto che alcuni sono un po “spaventati” dall’installazione di TFS, ed in questo modo potrebbero invece avere una macchina virtuale completamente preconfigurata e customizazre solo alcune parti, ma avere con pochi click un tfs funzionante.&lt;/p&gt;  &lt;p&gt;Fate pure i vostri commenti al post e fate sapere cosa ne pensate.&lt;/p&gt;  &lt;p&gt;Alk.&lt;/p&gt;  &lt;p&gt;Tags: &lt;a href="http://technorati.com/tag/TFS" rel="tag"&gt;TFS&lt;/a&gt;&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.ugidotnet.org/rgm/archive/2009/10/07/tfs-distribuito-come-macchina-virtuale.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.ugidotnet.org/rgm/archive/2009/10/07/tfs-distribuito-come-macchina-virtuale.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/97199.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2009/10/07/tfs-distribuito-come-macchina-virtuale.aspx</guid>
            <pubDate>Wed, 07 Oct 2009 10:58:02 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2009/10/07/tfs-distribuito-come-macchina-virtuale.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/97199.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/97199.aspx</trackback:ping>
        </item>
        <item>
            <title>ALM Day a Roma e Milano</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2009/10/02/alm-day-a-roma-e-milano.aspx</link>
            <description>&lt;p&gt;&lt;a title="http://blogs.msdn.com/italy/archive/2009/10/02/l-alm-day-sta-arrivando-5-novembre-a-roma-e-6-novembre-a-milano.aspx" href="http://blogs.msdn.com/italy/archive/2009/10/02/l-alm-day-sta-arrivando-5-novembre-a-roma-e-6-novembre-a-milano.aspx"&gt;Quest’anno&lt;/a&gt; a Roma e Milano, rispettivamente il 5 ed il 6 novembre si terrà l’ALM day. In questa edizione avremo, oltre a speaker internazionali del calibro di Brian Harry e Brian Keller, 4 MVP e tanti partner che parleranno di situazioni reali. Con un po di emozione posso dire che tra quei 4 MVP c’è anche il sottoscritto :), oltre a &lt;a href="http://blogs.ugidotnet.org/janky/Default.aspx"&gt;Giancarlo Sudano&lt;/a&gt;, &lt;a href="http://www.woodwardweb.com/"&gt;Martin Woodward&lt;/a&gt; e &lt;a href="http://blog.knodev.com/"&gt;Davide Vernole&lt;/a&gt;, per cui le giornate si prospettano decisamente interessanti.&lt;/p&gt;  &lt;p&gt;Tutti i dettagli sull’evento li potete trovare &lt;a href="http://blogs.msdn.com/italy/archive/2009/10/02/l-alm-day-sta-arrivando-5-novembre-a-roma-e-6-novembre-a-milano.aspx"&gt;a questo indirizzo&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Alk.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 4px 4px 4px;"&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blogs.ugidotnet.org/rgm/archive/2009/10/02/alm-day-a-roma-e-milano.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blogs.ugidotnet.org/rgm/archive/2009/10/02/alm-day-a-roma-e-milano.aspx&amp;amp;bgcolor=0080C0&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000" alt="DotNetKicks Image" border="0/" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/97158.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2009/10/02/alm-day-a-roma-e-milano.aspx</guid>
            <pubDate>Fri, 02 Oct 2009 16:24:54 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2009/10/02/alm-day-a-roma-e-milano.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/97158.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/97158.aspx</trackback:ping>
        </item>
    </channel>
</rss>