<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"><channel><title>Fabrizio Bernabei</title><link>http://dotnetumbria.org/blogs/bernabei/default.aspx</link><description /><dc:language>it</dc:language><generator>CommunityServer 2008 (Build: 30417.1769)</generator><geo:lat>43.34108878791423</geo:lat><geo:long>12.292156219482422</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/fberna" type="application/rss+xml" /><item><title>Test automatizzato delle applicazioni WEB: Selenium o WatiN?</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/26/test-automatizzato-delle-applicazioni-web-selenium-o-watin.aspx</link><pubDate>Fri, 26 Jun 2009 11:13:59 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:750</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=750</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=750</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/26/test-automatizzato-delle-applicazioni-web-selenium-o-watin.aspx#comments</comments><description>&lt;p&gt;Ci sono casi in cui nello sviluppo di una applicazione WEB si rende necessario (o perlomeno è una comodità in più) poter effettuare test di alto livello direttamente sulla UI stessa, magari perché si deve fare refactoring su un prodotto esistente e in un primo momento è necessario avere uno strumento che “garantisca” che le macro-funzionalità continuino a funzionare, oppure per testare (e poter ripetere nel tempo) il comportamento della UI in diversi ambienti.&lt;/p&gt;  &lt;p&gt;Per tutte queste cose esistono soluzioni specifiche (alcune che coprono diverse esigenze, altre un sottoinsieme perché per esempio non sono in grado di operare con tutti i browser) che permettono di definire dei test in grado di interagire con le pagine dell’applicazione web come farebbe un utente vero e proprio, cioè cliccando su link e bottoni e “navigando” l’applicazione in maniera completamente automatizzata.&lt;/p&gt;  &lt;p&gt;In precedenza ho usato con soddisfazione &lt;a href="http://watin.sourceforge.net/" target="_blank"&gt;WatiN&lt;/a&gt; che in sostanza è uno dei framework/strumenti che permette di eseguire test “pilotando” l’applicazione web direttamente da codice C#. In sostanza si tratta di una libreria che mette a disposizione un insieme di classi che permettono di aprire il web browser, navigare su uno specifico indirizzo, verificare quando la pagina è caricata, verificare che contenga determinati elementi ed interagire con essi sotto forma di oggetti utilizzabili da codice. Il vantaggio di tutto questo poi è la possibilità di automatizzare queste operazioni ed includere in un test (fatto col nostro framework preferito) per eseguirlo quando necessario: ma uno snippet di codice vale più di mille parole &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;&lt;/p&gt;  &lt;div style="border-bottom:gray 1px solid;border-left:gray 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:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;   &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;     &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; [Test]&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SearchForWatiNOnGoogle()&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;  &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (IE ie = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; IE(&lt;span style="color:#006080;"&gt;&amp;quot;http://www.google.com&amp;quot;&lt;/span&gt;))&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;  {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;   ie.TextField(Find.ByName(&lt;span style="color:#006080;"&gt;&amp;quot;q&amp;quot;&lt;/span&gt;)).TypeText(&lt;span style="color:#006080;"&gt;&amp;quot;WatiN&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;   ie.Button(Find.ByName(&lt;span style="color:#006080;"&gt;&amp;quot;btnG&amp;quot;&lt;/span&gt;)).Click();&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;   &lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;   Assert.IsTrue(ie.ContainsText(&lt;span style="color:#006080;"&gt;&amp;quot;WatiN&amp;quot;&lt;/span&gt;));&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;  }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt; } &lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In questo periodo ho l’esigenza di mettere insieme dei test su un’applicazione WEB su cui sto lavorando e avrei potuto riutilizzare direttamente questo prodotto, ma incuriosito da una &lt;a href="http://tech.groups.yahoo.com/group/ugialtnet/message/2059" target="_blank"&gt;discussione di qualche tempo fa su UGIALT.net&lt;/a&gt; ho deciso di dare un’occhiata a &lt;a href="http://seleniumhq.org" target="_blank"&gt;Selenium&lt;/a&gt; che sulla carta è forse ancor più potente di WatiN e dispone dii strumenti evoluti per il suo utilizzo. Si descrive infatti come (testualmente dal sito web) “&lt;strong&gt;Selenium is a suite of tools&lt;/strong&gt; to automate web app testing across many platforms”, un insieme di strumenti per automatizzare il testing di applicazioni web su diverse piattaforme. Vediamo un po’ di cosa si tratta…&lt;/p&gt;

&lt;p&gt;Il primo tool da provare è sicuramente &lt;a href="http://seleniumhq.org/projects/ide/" target="_blank"&gt;Selenium IDE&lt;/a&gt;, un ambiente autonomo per la scrittura, l’esecuzione, la registrazione ed il debug di test realizzato sotto forma di plug-in per FireFox. Con questo strumento è possibile registrare una sessione di navigazione e rimandarla in esecuzione in modo del tutto automatico, o addirittura eseguire passo-passo i comandi registrati “ammirando” quello che succede nella finestra del browser. Ovviamente è possibile modificare, aggiungere o rimuovere comandi allo script sia attraverso l’interfaccia visuale (in sostanza una griglia dove ad ogni riga corrisponde un’azione a sua volta definibile come “&lt;em&gt;comando da eseguire-elemento da utilizzare-valore da utilizzare&lt;/em&gt;”) sia attraverso il sorgente vero e proprio dello script. In merito a questo ultimo punto va specificato che lo script è rappresentabile in diversi linguaggi; per default l’IDE usa un banale HTML con al suo interno un elemento &amp;lt;TABLE&amp;gt; dove le righe contenute rappresentano i comandi da esguire. Dal menu Opzioni è poi possibile scegliere la visualizzazione dello script con un altro linguaggio (fra gli altri: C#, Java, PHP, Ruby) e anche modificare direttamente dall’editor il comportamento del test.&lt;/p&gt;

&lt;p&gt;A titolo di esempio lo stesso test visto prima per WatiN si traduce in Selenium (facendo uso solo dell’IDE con la registrazione automatica e riportando solamente il codice “saliente”) in:&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 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:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; [Test]&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; TheUntitledTest()&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     selenium.Open(&lt;span style="color:#006080;"&gt;&amp;quot;http://www.google.com/&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;     selenium.Type(&lt;span style="color:#006080;"&gt;&amp;quot;q&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;selenium&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;     selenium.Click(&lt;span style="color:#006080;"&gt;&amp;quot;btnG&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;     selenium.WaitForPageToLoad(&lt;span style="color:#006080;"&gt;&amp;quot;30000&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;         Assert.IsTrue(selenium.IsTextPresent(&lt;span style="color:#006080;"&gt;&amp;quot;Selenium&amp;quot;&lt;/span&gt;));&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (AssertionException e)&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;         verificationErrors.Append(e.Message);&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;che nella sua incarnazione in HTML diventa&lt;/p&gt;

&lt;div style="border-bottom:gray 1px solid;border-left:gray 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:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;max-height:200px;font-size:8pt;overflow:auto;border-top:gray 1px solid;cursor:text;border-right:gray 1px solid;padding-top:4px;"&gt;
  &lt;div style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;
    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;open&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;www.google.com&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;type&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;q&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;selenium&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;clickAndWait&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;btnG&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;verifyTextPresent&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Selenium&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style:none;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ovviamente questa è solamente la punta dell’iceberg; ci sono ancora da vedere molte cose interessanti, a partire dagli altri strumenti ed in primis &lt;a href="http://seleniumhq.org/projects/remote-control/" target="_blank"&gt;Selenium RC&lt;/a&gt; che permette di pilotare i test dal nostro codice e tanto altro ancora.&lt;/p&gt;

&lt;p&gt;Per ora come introduzione penso possa bastare ma nei prossimi giorni, di pari passo con l’esplorazione più approfondita del framework, aspettatevi nuovi post con approfondimenti ed un po’ di codice in più. &lt;img alt="Wink" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/wink_smile.gif" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=750" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p8N5qOBLf_8cdN4ROTpY0-ymVDU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p8N5qOBLf_8cdN4ROTpY0-ymVDU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p8N5qOBLf_8cdN4ROTpY0-ymVDU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p8N5qOBLf_8cdN4ROTpY0-ymVDU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=8xJnLTldn2o:mORMN8om0Vw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=8xJnLTldn2o:mORMN8om0Vw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=8xJnLTldn2o:mORMN8om0Vw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=8xJnLTldn2o:mORMN8om0Vw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=8xJnLTldn2o:mORMN8om0Vw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=8xJnLTldn2o:mORMN8om0Vw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=8xJnLTldn2o:mORMN8om0Vw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=8xJnLTldn2o:mORMN8om0Vw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=8xJnLTldn2o:mORMN8om0Vw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/8xJnLTldn2o" height="1" width="1"/&gt;</description></item><item><title>Evento DotNetUmbria Visual Studio Team System. Promosso a pieni voti!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/22/evento-dotnetumbria-visual-studio-team-system-promosso-a-pieni-voti.aspx</link><pubDate>Mon, 22 Jun 2009 09:38:15 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:748</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=748</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=748</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/22/evento-dotnetumbria-visual-studio-team-system-promosso-a-pieni-voti.aspx#comments</comments><description>&lt;p&gt;Complice un fine settimana fuori e qualche bizza del server DNU risolta da poco (grazie &lt;a href="http://dotnetumbria.org/members/Paolo-Possanzini/default.aspx" target="_blank"&gt;Paolo&lt;/a&gt; &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;) scrivo con qualche giorno di ritardo dell’&lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/05/25/workshop-su-vsts-a-perugia.aspx" target="_blank"&gt;evento&lt;/a&gt; tenutosi venerdì scorso a Perugia.&lt;/p&gt;  &lt;p&gt;Per prima cosa un ringraziamento e tanti complimenti a &lt;a href="http://www.geniodelmale.info/archive/2009/06/20/grazie-again.aspx" target="_blank"&gt;Lorenzo&lt;/a&gt; che ha tenuta alta l’attenzione per tutto il pomeriggio in modo magistrale, nonostante il “pranzetto” non indifferente che ci siamo fatti “&lt;a href="http://www.vinix.it/recensioni_detail.php?ID=518" target="_blank"&gt;Dal mi’ cocco&lt;/a&gt;” pochi minuti prima dell’inizio! Il resto della comitiva era rappresentato dal “senoncifosselui” &lt;a href="http://dotnetumbria.org/members/Andrea-Cruciani/default.aspx" target="_blank"&gt;Andrea&lt;/a&gt; e da &lt;a href="http://dotnetumbria.org/members/pomarc/default.aspx" target="_blank"&gt;&amp;quot;Gastone&amp;quot; Marco&lt;/a&gt; (che anche questa volta si è portato a casa il premio a estrazione).&lt;/p&gt;  &lt;p&gt;Poi una nota sulla nuova location inaugurata per questo evento; un ringraziamento a Confindustria che ci ha messo a disposizione una sala molto accogliente ed idonea per questo e magari per i prossimi eventi.&lt;/p&gt;  &lt;p&gt;Per concludere un saluto a &lt;a href="http://blogs.ugidotnet.org/j3r/archive/2009/06/21/workshop-dotnetumbria-su-visual-studio-team-system.aspx" target="_blank"&gt;Matteo Emili&lt;/a&gt; che ho conosciuto di persona e ho scoperto essere un “seguace” di Lorenzo: ormai conosce VSTS quanto lui o quasi &lt;img alt="Tongue out" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/tongue_smile.gif" /&gt;.&lt;/p&gt;  &lt;p&gt;Per concludere un saluto a tutti i partecipanti che mi sono sembrati interessati come non mai agli argomenti trattati. In conclusione posso dire: evento promosso a pieni voti, ora al lavoro per quelli futuri!!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=748" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/azxw6KKAF4VZRQC_9x5AhjmFQ5k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/azxw6KKAF4VZRQC_9x5AhjmFQ5k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/azxw6KKAF4VZRQC_9x5AhjmFQ5k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/azxw6KKAF4VZRQC_9x5AhjmFQ5k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=M0sZYGWuFJw:wRKc9jD_b9E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=M0sZYGWuFJw:wRKc9jD_b9E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=M0sZYGWuFJw:wRKc9jD_b9E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=M0sZYGWuFJw:wRKc9jD_b9E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=M0sZYGWuFJw:wRKc9jD_b9E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=M0sZYGWuFJw:wRKc9jD_b9E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=M0sZYGWuFJw:wRKc9jD_b9E:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=M0sZYGWuFJw:wRKc9jD_b9E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=M0sZYGWuFJw:wRKc9jD_b9E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/M0sZYGWuFJw" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/amici/default.aspx">amici</category></item><item><title>Nuovo evento, nuovo ospite. E’ la volta di VS Team System!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/12/nuovo-evento-nuovo-ospite-e-la-volta-di-vs-team-system.aspx</link><pubDate>Fri, 12 Jun 2009 11:02:27 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:741</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=741</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=741</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/06/12/nuovo-evento-nuovo-ospite-e-la-volta-di-vs-team-system.aspx#comments</comments><description>&lt;p&gt;Fra una settimana esatta è in programma un nuovo appuntamento organizzato da DotNetUmbria. Questa volta si parlerà di &lt;a href="http://msdn.microsoft.com/it-it/vsts2008/products/default.aspx" target="_blank"&gt;Visual Studio Team System&lt;/a&gt; e a farlo sarà un ospite graditissimo oltre che preparatissimo come &lt;a href="http://geniodelmale.info/" target="_blank"&gt;Lorenzo Barbieri&lt;/a&gt; (Developer Evangelist Microsoft Italia).&lt;/p&gt;  &lt;p&gt;Riporto brevemente l’agenda sintetica dell’evento che trovate in forma più dettagliata nell’apposita pagina &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/05/25/workshop-su-vsts-a-perugia.aspx" target="_blank"&gt;qui&lt;/a&gt;:    &lt;br /&gt;15.00 - 15.30 Introduzione a VSTS e TFS 2008 e 2010    &lt;br /&gt;15.30 - 16.45 Introdurre TFS nella piccola azienda    &lt;br /&gt;16.45 - 18.00 Profilazione, analisi, ottimizzazione del codice con VSTS Development Edition&lt;/p&gt;  &lt;p&gt;Ci sono ancora alcuni posti disponibili per chi volesse partecipare. La pagina per la registrazione la trovate all’indirizzo: &lt;a title="http://dotnetumbria.org/eventi/Default.aspx?IdEvento=9" href="http://dotnetumbria.org/eventi/Default.aspx?IdEvento=9"&gt;http://dotnetumbria.org/eventi/Default.aspx?IdEvento=9&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Inoltre si pensava di fermarci per un aperitivo/cena per concludere la serata insieme a Lorenzo. Per chi fosse interessato pregherei di segnalare l’adesione lasciando una risposta sull’appopsita discussione del nostro forum: &lt;a title="http://dotnetumbria.org/forums/p/373/740.aspx#740" href="http://dotnetumbria.org/forums/p/373/740.aspx#740" target="_blank"&gt;http://dotnetumbria.org/forums/p/373/740.aspx#740&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=741" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Sn3c4507QHtCF1F0A6NejbUQB1w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Sn3c4507QHtCF1F0A6NejbUQB1w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Sn3c4507QHtCF1F0A6NejbUQB1w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Sn3c4507QHtCF1F0A6NejbUQB1w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=TQn-GwMXWu4:4_GmS2gehEs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=TQn-GwMXWu4:4_GmS2gehEs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=TQn-GwMXWu4:4_GmS2gehEs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=TQn-GwMXWu4:4_GmS2gehEs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=TQn-GwMXWu4:4_GmS2gehEs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=TQn-GwMXWu4:4_GmS2gehEs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=TQn-GwMXWu4:4_GmS2gehEs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=TQn-GwMXWu4:4_GmS2gehEs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=TQn-GwMXWu4:4_GmS2gehEs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/TQn-GwMXWu4" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category></item><item><title>[OT] Bug non riproducibile</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/05/26/ot-bug-non-riproducibile.aspx</link><pubDate>Tue, 26 May 2009 15:38:59 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:738</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=738</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=738</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/05/26/ot-bug-non-riproducibile.aspx#comments</comments><description>&lt;p&gt;Questa vignetta è semplicemente SPETTACOLARE! &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://imgs.xkcd.com/comics/cnr.png" alt="" /&gt; &lt;/p&gt;  &lt;p&gt;Fonte: &lt;a href="http://xkcd.com/583/" target="_blank"&gt;xkcd&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=738" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YfVNtVbrERK8PLZ__cVXGSTI0H4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YfVNtVbrERK8PLZ__cVXGSTI0H4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YfVNtVbrERK8PLZ__cVXGSTI0H4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YfVNtVbrERK8PLZ__cVXGSTI0H4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=xal-dD8boAo:Bc-tCSnuJWc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=xal-dD8boAo:Bc-tCSnuJWc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=xal-dD8boAo:Bc-tCSnuJWc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=xal-dD8boAo:Bc-tCSnuJWc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=xal-dD8boAo:Bc-tCSnuJWc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=xal-dD8boAo:Bc-tCSnuJWc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=xal-dD8boAo:Bc-tCSnuJWc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=xal-dD8boAo:Bc-tCSnuJWc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=xal-dD8boAo:Bc-tCSnuJWc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/xal-dD8boAo" height="1" width="1"/&gt;</description></item><item><title>IE8 e asp:menu. Pace fatta :)</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/27/ie8-e-asp-menu-pace-fatta.aspx</link><pubDate>Fri, 27 Mar 2009 12:11:41 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:714</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=714</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=714</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/27/ie8-e-asp-menu-pace-fatta.aspx#comments</comments><description>&lt;p&gt;Dopo il rilascio di Internet Explorer 8 &lt;a href="http://blogs.ugidotnet.org/marcom/archive/2009/03/20/primi-problemi-per-internet-explorer-8.aspx" target="_blank"&gt;qualcuno avrà notato&lt;/a&gt; che il controllo &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.aspx" target="_blank"&gt;Menu&lt;/a&gt; di ASP.NET ha qualche problemino di rendering sul nuovo browser.&lt;/p&gt;  &lt;p&gt;Per correggere il problema è stato rilasciato un fix. Per ulteriori informazioni vedere direttamente alla &lt;a href="http://weblogs.asp.net/bleroy/archive/2009/03/23/asp-menu-fix-for-ie8-problem-available.aspx" target="_blank"&gt;fonte (Bertrand Le&amp;#160; Roy)&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=714" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/la4G_0cBOzK1QZCd2VbIU2nVG0U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/la4G_0cBOzK1QZCd2VbIU2nVG0U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/la4G_0cBOzK1QZCd2VbIU2nVG0U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/la4G_0cBOzK1QZCd2VbIU2nVG0U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=o-oVTv0HO9s:mOL96dEShEU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=o-oVTv0HO9s:mOL96dEShEU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=o-oVTv0HO9s:mOL96dEShEU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=o-oVTv0HO9s:mOL96dEShEU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=o-oVTv0HO9s:mOL96dEShEU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=o-oVTv0HO9s:mOL96dEShEU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=o-oVTv0HO9s:mOL96dEShEU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=o-oVTv0HO9s:mOL96dEShEU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=o-oVTv0HO9s:mOL96dEShEU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/o-oVTv0HO9s" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Evento ASP.NET MVC. Aperte le iscrizioni!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/24/evento-asp-net-mvc-aperte-le-iscrizioni.aspx</link><pubDate>Tue, 24 Mar 2009 14:19:11 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:711</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=711</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=711</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/24/evento-asp-net-mvc-aperte-le-iscrizioni.aspx#comments</comments><description>&lt;p&gt;Sono stati definiti gli ultimi dettagli per il &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/02/27/workshop-asp-net-mvc.aspx" target="_blank"&gt;Workshop Asp.Net MVC&lt;/a&gt; del prossimo 3 Aprile in cui &lt;a href="http://blogs.ugidotnet.org/piyo" target="_blank"&gt;Simone&lt;/a&gt; parlerà approfonditamente del &lt;a href="http://www.asp.net/mvc/" target="_blank"&gt;nuovo framework&lt;/a&gt; recentemente rilasciato in versione definitiva.&lt;/p&gt;  &lt;p&gt;Il workshop si terrà all’&lt;a href="http://www.hotelgio.it/" target="_blank"&gt;Hotel Giò&lt;/a&gt; di Perugia quindi comodo per tutti i i “dotnettiani” del centro-italia e non solo.&lt;/p&gt;  &lt;p&gt;Ora sotto con la &lt;strong&gt;&lt;a href="http://dotnetumbria.org/eventi/Default.aspx?IdEvento=6" target="_blank"&gt;registrazione&lt;/a&gt;&lt;/strong&gt;! Ci vediamo il 3 Aprile.&lt;/p&gt;  &lt;p&gt;P.S.: Grazie Andrea per la &lt;a href="http://dotnetumbria.org/blogs/cruciani/archive/2009/03/23/nuovo-modulo-registrazioni.aspx" target="_blank"&gt;segnalazione&lt;/a&gt; &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;. Diciamo che per il momento questa versione alfa può andar bene ma c’è ancora da lavorare.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=711" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zgTfJiFuLIFDbcsxbGTisM_3VnY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zgTfJiFuLIFDbcsxbGTisM_3VnY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zgTfJiFuLIFDbcsxbGTisM_3VnY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zgTfJiFuLIFDbcsxbGTisM_3VnY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=k5MJ42_sRMc:SEc_zKK7GbM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=k5MJ42_sRMc:SEc_zKK7GbM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=k5MJ42_sRMc:SEc_zKK7GbM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=k5MJ42_sRMc:SEc_zKK7GbM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=k5MJ42_sRMc:SEc_zKK7GbM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=k5MJ42_sRMc:SEc_zKK7GbM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=k5MJ42_sRMc:SEc_zKK7GbM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=k5MJ42_sRMc:SEc_zKK7GbM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=k5MJ42_sRMc:SEc_zKK7GbM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/k5MJ42_sRMc" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>Disponibile anche Silverlight 3 Beta 1</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/disponibile-anche-silverlight-3-beta-1.aspx</link><pubDate>Wed, 18 Mar 2009 14:24:06 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:708</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=708</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=708</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/disponibile-anche-silverlight-3-beta-1.aspx#comments</comments><description>&lt;p&gt;Visto che oggi è giornata di annunci e nuovi download, dopo il &lt;a href="http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/asp-net-mvc-rtm.aspx" target="_blank"&gt;post su ASP.NET MVC 1.0&lt;/a&gt; ora è la volta di Silverlight 3.0 Beta 1.&lt;/p&gt;  &lt;p&gt;Ecco tutto lo “scaricabile”:&lt;/p&gt;  &lt;p&gt;Microsoft® Silverlight™ 3 SDK Beta 1 &lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d09b6ecf-9a45-4d99-b752-2a330a937bc4"&gt;download&lt;/a&gt;    &lt;br /&gt;Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1: &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=11dc7151-dbd6-4e39-878f-5081863cbb5d" target="_blank"&gt;download&lt;/a&gt;    &lt;br /&gt;Microsoft® Silverlight™ 3 Beta 1 Documentation: &lt;a href="http://msdn.microsoft.com/en-us/library/cc838158(vs.96).aspx" target="_blank"&gt;download&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=708" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R_9f3mvVtvzzaNwiErmgPNZc7I4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R_9f3mvVtvzzaNwiErmgPNZc7I4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R_9f3mvVtvzzaNwiErmgPNZc7I4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R_9f3mvVtvzzaNwiErmgPNZc7I4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=mLHnrAPQekU:9--RDHBkICk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=mLHnrAPQekU:9--RDHBkICk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=mLHnrAPQekU:9--RDHBkICk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=mLHnrAPQekU:9--RDHBkICk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=mLHnrAPQekU:9--RDHBkICk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=mLHnrAPQekU:9--RDHBkICk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=mLHnrAPQekU:9--RDHBkICk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=mLHnrAPQekU:9--RDHBkICk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=mLHnrAPQekU:9--RDHBkICk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/mLHnrAPQekU" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>ASP.NET MVC RTM!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/asp-net-mvc-rtm.aspx</link><pubDate>Wed, 18 Mar 2009 13:46:05 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:706</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=706</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=706</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2009/03/18/asp-net-mvc-rtm.aspx#comments</comments><description>&lt;p&gt;Segnalato direttamente da &lt;a href="http://blogs.ugidotnet.org/piyo/archive/2009/03/18/w00t-asp.net-mvc-goes-rtm.aspx" target="_blank"&gt;Simone Chiaretta&lt;/a&gt;, è da poco &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b" target="_blank"&gt;scaricabile&lt;/a&gt; la versione finale di &lt;a href="http://www.asp.net/mvc/" target="_blank"&gt;ASP.NET MVC&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In attesa del &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2009/02/27/workshop-asp-net-mvc.aspx" target="_blank"&gt;prossimo evento&lt;/a&gt; in cui proprio Simone, autore del libro &lt;a href="http://www.amazon.co.uk/Beginning-ASP-NET-MVC-Simone-Chiaretta/dp/047043399X" target="_blank"&gt;Beginning ASP.NET MVC&lt;/a&gt; verrà a trovarci per parlare in lungo ed in largo del nuovo framework, vale la pena effettuare il download e iniziare a dare un’occhiata.&lt;/p&gt;  &lt;p&gt;Vado a scaricare… &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=706" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VI6t991kcadzp_GUBxr9Ql-Vl1Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VI6t991kcadzp_GUBxr9Ql-Vl1Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VI6t991kcadzp_GUBxr9Ql-Vl1Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VI6t991kcadzp_GUBxr9Ql-Vl1Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/fberna?a=2hWqOUiUC_Y:hbBC_oBhESk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=2hWqOUiUC_Y:hbBC_oBhESk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=2hWqOUiUC_Y:hbBC_oBhESk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=2hWqOUiUC_Y:hbBC_oBhESk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=2hWqOUiUC_Y:hbBC_oBhESk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=2hWqOUiUC_Y:hbBC_oBhESk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=2hWqOUiUC_Y:hbBC_oBhESk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/fberna?a=2hWqOUiUC_Y:hbBC_oBhESk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/fberna?i=2hWqOUiUC_Y:hbBC_oBhESk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/2hWqOUiUC_Y" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category></item><item><title>Silverlight &amp; WPF: tempo di concorsi</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/24/silverlight-amp-wpf-tempo-di-concorsi.aspx</link><pubDate>Wed, 24 Dec 2008 11:33:26 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:667</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=667</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=667</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/24/silverlight-amp-wpf-tempo-di-concorsi.aspx#comments</comments><description>&lt;p&gt;Sembra proprio che Natale sia periodo di panettoni, regali e… concorsi.&lt;/p&gt;  &lt;p&gt;In questi giorni per chi vuole cimentarsi e mettersi alla prova nella scrittura di applicazioni/articoli sulle tecnologie Microsoft basate su XAML troverà pane per i suoi denti. Ecco infatti due interessanti iniziative:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.silverlightshow.net/news/Silverlight-Write-and-Win-contest-Christmas-Edition.aspx" target="_blank"&gt;Write and Win! contest – Christmas Edition&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://www.silverlightshow.net/" target="_blank"&gt;SilverlightShow&lt;/a&gt; è uno dei portali di riferimento per lo sviluppo con Silverlight. Fino al 31 Gennaio chi volesse cimentarsi nella realizzazione di “qualsiasi cosa” in Silverlight e scriverci poi un articolo, può farlo e rischia di vincere premi interessanti sotto forma di licenze software e buoni acquisto su Amazon.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://2009.visitmix.com/MIXtify/TenKGallery.aspx" target="_blank"&gt;Inspire the world with just 10K&lt;/a&gt;       &lt;br /&gt;Questo invece è una vera e propria sfida d’altri tempi! Lo scopo e realizzare un’applicazione il cui codice sia complessivamente minore di 10k. Ai nostalgici ricorderà sicuramente gli albori della programmazione in DOS quando la lotta sul filo dei bit era all’ordine del giorno &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;. In questo caso il contest è sponsorizzato da &lt;a href="http://2009.visitmix.com/Default.aspx" target="_blank"&gt;MIX 09&lt;/a&gt; (l’evento MS che si terra a Marzo 09 a Las Vegas incentrato sullo sviluppo WEB) ed in palio ci sono accessi all’evento, carte visa con dollari da spendere a piacere &lt;img alt="Surprised" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/omg_smile.gif" /&gt; e altro. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ora non rimane che rimboccarsi le maniche e scrivere qualche riga di codice fra un panettone ed un bicchiere di spumante!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=667" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uOc6hJhzjf4v4a_juR1uGkTWbO0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uOc6hJhzjf4v4a_juR1uGkTWbO0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uOc6hJhzjf4v4a_juR1uGkTWbO0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uOc6hJhzjf4v4a_juR1uGkTWbO0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=M4i0x2xy"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=7uNvkg9d"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=7uNvkg9d" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=BavvwcMw"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=Stg0ui8T"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=Stg0ui8T" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=yTn2glp0"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=tUAzHgAW"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=tUAzHgAW" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/Kj3vqlu2hC4" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/RIA/default.aspx">RIA</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Merry Christmas and Happy New Year</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/23/merry-christmas-and-happy-new-year.aspx</link><pubDate>Tue, 23 Dec 2008 15:19:00 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:664</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=664</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=664</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/23/merry-christmas-and-happy-new-year.aspx#comments</comments><description>&lt;div&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:8490d761-900f-4492-99d9-e1d989c2a38b" style="padding-right:0px;display:inline;padding-left:0px;float:left;padding-bottom:0px;margin-left:0px;margin-right:0px;padding-top:0px;"&gt;&lt;a target="_blank" href="http://elfyourself.jibjab.com/view/kUzEcuqsdM6aM3q8" title="Gli speakers InnovActive" rel="thumbnail"&gt;&lt;img src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/natale2_5F00_6FCEB101.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;   &lt;br /&gt;Auguro a tutti un Felice Natale e un Sereno Anno Nuovo!&lt;/p&gt;
&lt;p&gt;Per allietare (si fa per dire &lt;img alt="Open-mouthed" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/teeth_smile.gif" /&gt;) questi giorni di festa ecco a voi la nostra performance da elfi. Non c&amp;rsquo;&amp;egrave; che dire, sicuramente meglio in questa veste che in quella di sviluppatori!&lt;/p&gt;
&lt;p&gt;Per guardare il filmato in tutta la sua splendida bellezza basta cliccare &lt;a href="http://elfyourself.jibjab.com/view/kUzEcuqsdM6aM3q8" target="_blank"&gt;qui (http://elfyourself.jibjab.com/view/kUzEcuqsdM6aM3q8#)&lt;/a&gt; e godersi lo spettacolo!     &lt;br /&gt;Ma affrettatevi perch&amp;eacute; il video resta disponibile solo fino al 15 Gennaio 2009, a meno che qualcuno non proprio a posto con la capoccia voglia finanziare con una donazione l&amp;rsquo;acquisto per circa 4&amp;euro; &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;span style="color:#ff0000;"&gt;Buon Natale e Felice Anno Nuovo!&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;P.S.: Come buon proposito per il 2009 spero di scrivere qualche post pi&amp;ugrave; interessante per la community, lo prometto!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="clear:both;"&gt;-&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=664" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e1qwKQoPCeSos4DMXQLc-E5Tiro/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e1qwKQoPCeSos4DMXQLc-E5Tiro/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e1qwKQoPCeSos4DMXQLc-E5Tiro/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e1qwKQoPCeSos4DMXQLc-E5Tiro/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=mP6kq9xg"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=fpECThXs"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=fpECThXs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=STVc6WX2"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=RbgLzMgX"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=RbgLzMgX" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=FluPdpzv"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=OhkT43xD"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=OhkT43xD" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/h9tN-Bd7Pe8" height="1" width="1"/&gt;</description></item><item><title>NHibernate, Entity Framework o altro? Un evento per scoprirlo…</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/17/nhibernate-entity-framework-o-altro-un-evento-per-scoprirlo.aspx</link><pubDate>Wed, 17 Dec 2008 09:02:59 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:653</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=653</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=653</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/12/17/nhibernate-entity-framework-o-altro-un-evento-per-scoprirlo.aspx#comments</comments><description>&lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:cbe6a98a-86f4-44c1-b28b-8d617e4b2a5a" style="padding-right:0px;display:inline;padding-left:0px;float:left;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;a href="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/DotnetUmbria_5F00_Logo8x6_5F00_722CDA22.gif" title="" rel="thumbnail"&gt;&lt;img border="0" src="http://dotnetumbria.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/bernabei/DotnetUmbria_5F00_Logo_5F00_1FADF9E6.png" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Venerdì prossimo è in programma il nuovo evento della community in cui si parlerà (o come dice qualcuno si faranno degli &lt;em&gt;&lt;a href="http://minchiachefame.iobloggo.com/archive.php?eid=491" target="_blank"&gt;spiegoni&lt;/a&gt;&lt;/em&gt;) di accesso ai dati ed in particolare di ORM.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Per chi è interessato (e per chi non lo è ma vuole solo venire a mangiucchiare qualcosa aggratis al coffe break :D) l’ingresso è libero e senza registrazione (chi utilizza &lt;a href="http://www.facebook.com/event.php?eid=43641526746#/group.php?gid=54528211437" target="_blank"&gt;facebook&lt;/a&gt; e lo desidera può comunque segnalare la sua adesione &lt;a href="http://www.facebook.com/event.php?eid=43641526746" target="_blank"&gt;qui&lt;/a&gt;) quindi non ci sono scuse.&lt;/p&gt;  &lt;p&gt;L’agenda completa è consultabile &lt;a href="http://dotnetumbria.org/blogs/eventi/archive/2008/12/04/accesso-ai-dati-alla-corda-quali-strategie-prima-parte.aspx" target="_blank"&gt;qui&lt;/a&gt;; l’elenco delle sessioni sarà il seguente:&lt;/p&gt;  &lt;p&gt;15.00 – 15.30 &lt;strong&gt;Introduzione agli ORM&lt;/strong&gt; (&lt;a href="http://dotnetumbria.org/members/belius/default.aspx"&gt;Simone Belia&lt;/a&gt;)     &lt;br /&gt;15.30 – 16.15 &lt;strong&gt;ADO.NET Entity Framework: Come vincere La Guerra dei Mondi (in quaranta minuti)&lt;/strong&gt; (&lt;a href="http://dotnetumbria.org/members/pomarc/default.aspx"&gt;Marco Poponi&lt;/a&gt;)     &lt;br /&gt;16.15 – 16.30 Coffe Break     &lt;br /&gt;16.30 – 17.15 &lt;strong&gt;ORM? NHibernate grazie&lt;/strong&gt; (&lt;a href="http://dotnetumbria.org/members/matteo/default.aspx"&gt;Matteo Mariucci&lt;/a&gt;)     &lt;br /&gt;17.15 – 17.45 &lt;strong&gt;Benchmarking e valutazioni: come scegliere la strategia per il mio progetto?&lt;/strong&gt; (&lt;a href="http://dotnetumbria.org/members/Paolo-Possanzini/default.aspx"&gt;Paolo Possanzini&lt;/a&gt;)     &lt;br /&gt;17.45 – 18.30 &lt;strong&gt;Q&amp;amp;A&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Ci vediamo al &lt;a href="http://www.hotelgio.it/" target="_blank"&gt;Giò&lt;/a&gt; venerdì prossimo dalle ore 15.00 in poi.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=653" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1PKYK7_YKDPZOPqbqCL5rmA6sHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1PKYK7_YKDPZOPqbqCL5rmA6sHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1PKYK7_YKDPZOPqbqCL5rmA6sHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1PKYK7_YKDPZOPqbqCL5rmA6sHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=svtj4VAw"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=zjV3jdML"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=zjV3jdML" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=0VoixxAN"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=q62IwmOc"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=q62IwmOc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=t0jGDota"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=3LJSAtYW"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=3LJSAtYW" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/_c5QGc4YVlE" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/evento/default.aspx">evento</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category></item><item><title>Svelato l'ultimo "tassello" di Silverlight 2</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/10/29/svelato-l-ultimo-quot-tassello-quot-di-silverlight-2.aspx</link><pubDate>Tue, 28 Oct 2008 23:24:42 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:583</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=583</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=583</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/10/29/svelato-l-ultimo-quot-tassello-quot-di-silverlight-2.aspx#comments</comments><description>&lt;p&gt;Fra gli innumerevoli annunci e rilasci durante la PDC che si sta svolgendo in questi giorni, oggi è toccato anche al &lt;a href="http://www.codeplex.com/Silverlight/" target="_blank"&gt;Silverlight Toolkit&lt;/a&gt;, insieme di controlli aggiuntivi e temi per arricchire ulteriormente le applicazioni RIA scritte in SL.&lt;/p&gt; &lt;p&gt;Contando fra gli altri anche la presenza dell&amp;#39;ottimo &lt;a href="http://www.codeplex.com/silverlightcontrib" target="_blank"&gt;Silverlight Contrib&lt;/a&gt; sempre su Codeplex, direi che ora non manca più nulla... &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:558643ee-9254-44c8-b88b-17387e1a03a5" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Silverlight%20Controls" rel="tag"&gt;Silverlight Controls&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=583" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/99f_j5LcqJ-TwH9gcCw68s-1Vp4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/99f_j5LcqJ-TwH9gcCw68s-1Vp4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/99f_j5LcqJ-TwH9gcCw68s-1Vp4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/99f_j5LcqJ-TwH9gcCw68s-1Vp4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=qeXeP6UM"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=7EYkGaVy"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=7EYkGaVy" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=g5IuDY05"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=0LclaD4j"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=0LclaD4j" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=PCuj6nXN"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=inUBTzb1"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=inUBTzb1" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/bLyJjiU4KA0" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/RIA/default.aspx">RIA</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>UG.NET... Benvenuti a Toscana ed Emilia Romagna</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/10/22/ug-net-benvenuti-a-toscana-ed-emilia-romagna.aspx</link><pubDate>Wed, 22 Oct 2008 13:49:10 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:579</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=579</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=579</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/10/22/ug-net-benvenuti-a-toscana-ed-emilia-romagna.aspx#comments</comments><description>&lt;p&gt;Mi associo al &lt;a href="http://dotnetumbria.org/blogs/cruciani/archive/2008/10/22/benvenuto-a-dotnettoscana.aspx" target="_blank"&gt;caloroso benvenuto di Andrea&lt;/a&gt; ai due neonati user group .Net a noi vicini (&lt;a href="http://dotnettoscana.org" target="_blank"&gt;DotNetToscana&lt;/a&gt; e &lt;a href="http://dotdotnet.org" target="_blank"&gt;DotDotNet&lt;/a&gt;), che si aggiungono alla &amp;quot;lista di centro&amp;quot; assieme a &lt;a href="http://dotnetumbria.org" target="_blank"&gt;DotNetUmbria&lt;/a&gt; e &lt;a href="http://dotnetmarche.org" target="_blank"&gt;DotNetMarche&lt;/a&gt;!&lt;/p&gt; &lt;p&gt;Chissà che prima o poi non si possa organizzare un bell&amp;#39;evento &amp;quot;centrico&amp;quot;, tecnologico ma soprattutto culinario. &lt;img alt="Tongue out" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/tongue_smile.gif" /&gt;&lt;/p&gt; &lt;p&gt;Gli annunci più o meno sparsi &lt;a href="http://blogs.ugidotnet.org/bmatte/archive/2008/10/20/adesso-ci-siamo-anche-noi.aspx" target="_blank"&gt;qui&lt;/a&gt;, &lt;a href="http://blogs.ugidotnet.org/marcom/archive/2008/10/20/94283.aspx" target="_blank"&gt;qui&lt;/a&gt;, &lt;a href="http://blogs.ugidotnet.org/allePalle_blog/archive/2008/10/22/on-line-anche-il-sito-di-dotdotnet.aspx" target="_blank"&gt;qui&lt;/a&gt; e ancora &lt;a href="http://blogs.msdn.com/pietrobr/archive/2008/10/20/intervista-a-dotnettoscana-org.aspx" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=579" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nlnOT2lPsExpa6kuRPxOlBFlc0M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nlnOT2lPsExpa6kuRPxOlBFlc0M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nlnOT2lPsExpa6kuRPxOlBFlc0M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nlnOT2lPsExpa6kuRPxOlBFlc0M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=gLj785IN"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=oPq9aygk"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=oPq9aygk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=ag8unmFA"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=H0q1XxNM"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=H0q1XxNM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=djEPqlar"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=oCc00JlS"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=oCc00JlS" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/v8Gv3Wbl5oQ" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/community/default.aspx">community</category></item><item><title>Localizzazione lato client con ASP.NET Ajax</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/08/06/localizzazione-lato-client-con-asp-net-ajax.aspx</link><pubDate>Wed, 06 Aug 2008 15:30:00 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:508</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=508</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=508</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/08/06/localizzazione-lato-client-con-asp-net-ajax.aspx#comments</comments><description>&lt;p&gt;Il framework ASP.NET Ajax implementa un sistema per la localizzazione delle applicazioni &amp;quot;lato client&amp;quot;. Se abbiamo uno ScriptManager in una pagina, impostando l&amp;#39;attributo&amp;nbsp; EnableScriptLocalization a &amp;quot;true&amp;quot; abilitiamo questa funzionalit&amp;agrave; che in sostanza &amp;quot;serve&amp;quot; dei file javascript in base alla cultura corrente. Prendiamo ad esempio il codice seguente e supponiamo che venga eseguita su un PC con impostata la localizzazione in lingua inglese (&lt;a href="http://it.wikipedia.org/wiki/Internazionalizzazione_e_localizzazione" target="_blank"&gt;en-US&lt;/a&gt; ad esempio):&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:ScriptManager&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;TheScriptManager&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;span style="color:#ff0000;"&gt;                         EnableScriptLocalization&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Scripts&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:ScriptReference&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Path&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;~/js/Risorse.js&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Scripts&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:ScriptManager&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Viene referenziato nello script manager il file Risorse.js, questo significa che il file in questione verr&amp;agrave; inviato (o meglio la direttiva script..ecc verr&amp;agrave; inserita nell&amp;#39;html prodotto dalla pagina) al client ql momento della richiesta della pagina. La particolarit&amp;agrave; &amp;egrave; che, avendo abilitato l&amp;#39;apposita opzione dello ScriptManager (che per default &amp;egrave; impostata a false) per la localizzazione, se nella posizione dove si trova il file js ne esiste una versione con nome Risorse.en-US.js, verr&amp;agrave; servita questa in quanto corrisponde alla cultura correntemente impostata.&lt;/p&gt;
&lt;p&gt;In questo modo &amp;egrave; possibile creare dei file js contenenti le risorse necessarie alla localizzazione in diverse lingue e ASP.NET Ajax provveder&amp;agrave; in automatico ad inviarci quello corretto per la lingua in uso. Un esempio di utilizzo potrebbe essere il seguente, un file di risorse fatto in questo modo:&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; Risorse = {&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#006080;"&gt;&amp;quot;Lingua&amp;quot;&lt;/span&gt; : &lt;span style="color:#006080;"&gt;&amp;quot;it-IT&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#006080;"&gt;&amp;quot;testoBtnAnnulla&amp;quot;&lt;/span&gt; : &lt;span style="color:#006080;"&gt;&amp;quot;Annulla&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; };&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;oppure in questo nella sua versione per la lingua inglese (con estensione .en-US.js)&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; Risorse = {&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#006080;"&gt;&amp;quot;Lingua&amp;quot;&lt;/span&gt; : &lt;span style="color:#006080;"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#006080;"&gt;&amp;quot;testoBtnAnnulla&amp;quot;&lt;/span&gt; : &lt;span style="color:#006080;"&gt;&amp;quot;Cancel&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; };&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Nel codice javascript del client ci baster&amp;agrave; scrivere qualcosa tipo:&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; alert(&amp;quot;La lingua corrente è: &amp;quot; + Risorse.Lingua);&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Per ottenere un alert contenente un messaggio che cambier&amp;agrave; in base alla lingua correntemente selezionata.&lt;/p&gt;
&lt;p&gt;Fin qui tutto ok; qualche perplessit&amp;agrave; potrerbbe per&amp;ograve; nascere nel momento in cui la nostra applicazione debba gestire/memorizzare la cultura da utilizzare sul server. Gi&amp;agrave; perche il sistema appena illustrato tiene conto in realt&amp;agrave; della cultura corrente del client (dove gira il browser per intenderci) e non quella del server. Nella nostra applicazione invece potrebbe servire la cosa opposta perch&amp;egrave; ad esempio la lingua impostata da utilizzare pu&amp;ograve; essere impostata manualmente dall&amp;#39;utente attraverso l&amp;#39;interfaccia dell&amp;#39;applicazione e poi salvata nel profilo personale o in un cookie, e magari ci serve che sia lato server per localizzare altre parti/pagine dell&amp;#39;applicazione che &amp;quot;girano&amp;quot; soltanto sul server.&lt;/p&gt;
&lt;p&gt;In questi casi si pu&amp;ograve; comunque continuare ad utilizzare la tecnica appena descritta, con pochi accorgimenti. Prima di tutto possiamo in questo caso non abilitare la localizzazione automatica degli script, semplicemente impostando a false l&amp;#39;attributo EnableScriptLocalization dello ScriptManager o non impostandolo affatto in quanto come detto per default non &amp;egrave; abilitato.&lt;br /&gt;Ora possiamo sfruttare un&amp;#39;altra possibilit&amp;agrave; della localizzazione che consiste nel poter forzare per mezzo di un attributo la cultura con cui deve essere servito un particolare script dallo ScriptManager, semplicemente impostandola sul singolo riferimento per mezzo della propriet&amp;agrave; ResourceUICultures come nell&amp;#39;esempio seguente:&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:ScriptManager&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;runat&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;TheScriptManager&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Scripts&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:ScriptReference&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Path&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;~/js/Risorse.js&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;&lt;br /&gt;                                   ResourceUICultures&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;it-IT&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Scripts&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;asp:ScriptManager&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In questo modo lo ScriptManager cercher&amp;agrave; di utilizzare sempre e comunque un file scritto per la cultura italiana, indipendentemente da quella impostata sul client. Il prossimo passo per sfruttare questo meccanismo per il nostro scopo, &amp;egrave; quello di fare in modo che il file di risorse javascript venga effettivamente inviato specificandone la cultura, ma quest&amp;#39;ultima sia impostata dal server prima della renderizzazione della pagina. Quello che serve quindi &amp;egrave; semplicemente specificare il riferimento al file di risorse nello ScriptManager da codice a runtime impostandone di volta in volta la cultura da utilizzare (che ovviamente pu&amp;ograve; cambiare anche da un postback all&amp;#39;altro.. l&amp;#39;importante &amp;egrave; che per la cultura che si imposta ci sia un file js corrispondente, altrimenti le risorse non saranno inviate al client). Per farlo basta togliere dallo ScriptManager il riferimento al file Risorse.js dell&amp;#39;esempio ed aggiungerlo a runtime nel codice eseguito lato server, ad esempio nell&amp;#39;evento PageLoad della pagina in questo modo:&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Riferimento al file di risorse da utilizzare&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     ScriptReference jsRisorse = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; ScriptReference(&lt;span style="color:#006080;"&gt;&amp;quot;~/js/Risorse.js&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// la cultura viene impostata leggendola dal thread corrente,&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// potrebbe essere diversa da quella del client&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// e anche da quella di altri processi che girano sul server web&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     jsRisorse.ResourceUICultures = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;[1] &lt;br /&gt;              { System.Threading.Thread.CurrentThread.CurrentUICulture.ToString() };&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// il riferimento con la cultura specificata viene aggiunto allo&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// ScriptManager. Se ad esempio la cultura impostata fosse en-US &lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// è necessario che sia presente il file ~/js/Risorse.en-US.js&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// perchè questo verrà effettivamente referenziato nell&amp;#39;HTML&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;     TheScriptManager.Scripts.Add(jsRisorse);&lt;/pre&gt;
&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;E con questo abbiamo raggiunto il nostro scopo, cio&amp;egrave; sul client verra servito il file js di risorse localizzato in base alle impostazioni memorizzate sul server, magari n el profilo dell&amp;#39;utente, e queste ultime possono essere diverse da quelle del PC client dove gira l&amp;#39;applicazione all&amp;#39;interno del browser.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4ac4c524-3eb4-4d88-9c64-7fa5ef5c826e" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Ajax" rel="tag"&gt;Ajax&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Localization" rel="tag"&gt;Localization&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=508" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qg8dVdwgnpLgaPTY6AEOgm-bQL4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qg8dVdwgnpLgaPTY6AEOgm-bQL4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qg8dVdwgnpLgaPTY6AEOgm-bQL4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qg8dVdwgnpLgaPTY6AEOgm-bQL4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=3yov4yHu"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=yxkpJEgN"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=yxkpJEgN" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=uVsRr9UG"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=j6eZWna7"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=j6eZWna7" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=LkA3c9He"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=ZYVlSMBQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=ZYVlSMBQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/3ptVQhAo-Kk" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/Ajax/default.aspx">Ajax</category><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Prova il microframework e vinci!!!</title><link>http://dotnetumbria.org/blogs/bernabei/archive/2008/07/29/prova-il-microframework-e-vinci.aspx</link><pubDate>Tue, 29 Jul 2008 07:16:00 GMT</pubDate><guid isPermaLink="false">7c6ab959-8411-4d1b-a449-1796eac035b7:479</guid><dc:creator>Fabrizio Bernabei</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://dotnetumbria.org/blogs/bernabei/rsscomments.aspx?PostID=479</wfw:commentRss><wfw:comment>http://dotnetumbria.org/blogs/bernabei/commentapi.aspx?PostID=479</wfw:comment><comments>http://dotnetumbria.org/blogs/bernabei/archive/2008/07/29/prova-il-microframework-e-vinci.aspx#comments</comments><description>&lt;p&gt;Il titolo di questo post non &amp;egrave; solo uno slogan da cartellone pubblicitario (anche se l&amp;#39;obiettivo &amp;egrave; quello &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;) ma un&amp;#39;iniziativa &amp;quot;lanciata&amp;quot; dal team del Microsoft MF per incoraggiare gli sviluppatori a prendere parte al programma di beta della nuova versione 3.0.&lt;br /&gt;In sostanza, registrandosi al programma beta e scaricando l&amp;#39;SDK dal sito &lt;a title="http://connect.microsoft.com/netmf" href="http://connect.microsoft.com/netmf"&gt;http://connect.microsoft.com/netmf&lt;/a&gt; entro il 31 Agosto, si riceve un &amp;quot;biglietto elettronico&amp;quot; ed il 15 Settembre verr&amp;agrave; &amp;quot;estratto&amp;quot; il fortunato vincitore di un &lt;a title="RicaVision Universal Remote Control" href="http://www.amazon.com/Ricavision-VAVE100-SideShow-Universal-Control/dp/B00169YM9O" target="_blank"&gt;RicaVision Universal Remote Control&lt;/a&gt; (non so quanto utile, ma sicuramente un bell&amp;#39;oggettino)...&lt;/p&gt;
&lt;p&gt;&lt;img src="http://connect.microsoft.com/siteimages/6558f529-b337-4e13-a9bc-03b85c665d6d.jpg" align="left" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Per i &lt;a href="http://dotnetumbria.org/blogs/articoli/archive/2008/06/25/primi-passi-con-il-net-microframework.aspx" target="_blank"&gt;numerosi&lt;/a&gt; &lt;a href="http://dotnetumbria.org/blogs/cruciani/archive/2008/05/31/book-review-expert-net-micro-framework.aspx" target="_blank"&gt;appassionati&lt;/a&gt; di Micro Framework che ci sono da queste parti, una buona scusa per studiarsi le novit&amp;agrave; della nuova versione di questo framework che, a prescindere dalle trovate marketing, promette veramente molto bene. Ecco una sintesi delle novit&amp;agrave; che saranno introdotte (tratte dal sito ufficiale):&lt;/p&gt;
&lt;p&gt;&amp;bull; Interop and native code linking&lt;br /&gt;&amp;bull; Touch screen and inking/gesturing support&lt;br /&gt;&amp;bull; USB device&lt;br /&gt;&amp;bull; SSL (secure sockets) for the TCP/IP stack&lt;br /&gt;&amp;bull; Visual Studio 2008 support&lt;br /&gt;&amp;bull; DPWS (Devices Profile for Web Services), including new codegen tools&lt;br /&gt;&amp;bull; 4bpp font support&lt;br /&gt;&amp;bull; Enhanced and more compatible serial/UART model&lt;br /&gt;&amp;bull; &lt;i&gt;File system*&lt;/i&gt;&lt;br /&gt;&amp;bull; &lt;i&gt;802.11 Wi-Fi infrastructure*&lt;/i&gt;&lt;br /&gt;&amp;bull; &lt;i&gt;Support for more cores and processor architectures*&lt;/i&gt;&lt;br /&gt;&amp;bull; &lt;i&gt;Publicly available Porting Kit for purchase* (separate product not included with the SDK)&lt;/i&gt;&lt;br /&gt;(Features noted with &lt;b&gt;*&lt;/b&gt; will not be available in the first public beta)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;A questo punto non resta altro che provare...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetumbria.org/aggbug.aspx?PostID=479" width="1" height="1"&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hqSy7g8sDjR6zmI0T7f5PSz9FN4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hqSy7g8sDjR6zmI0T7f5PSz9FN4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hqSy7g8sDjR6zmI0T7f5PSz9FN4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hqSy7g8sDjR6zmI0T7f5PSz9FN4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/fberna?a=jfSDJo2g"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=ejUZVuDT"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=ejUZVuDT" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=61eGPxnE"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=iuyFI4Wt"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=iuyFI4Wt" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=qZ5s8Cwo"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/fberna?a=TrU35TtS"&gt;&lt;img src="http://feeds.feedburner.com/~f/fberna?i=TrU35TtS" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/fberna/~4/7113rqDWv9E" height="1" width="1"/&gt;</description><category domain="http://dotnetumbria.org/blogs/bernabei/archive/tags/microframework/default.aspx">microframework</category></item></channel></rss>
