<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2italianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Il blog di Ugo Lattanzi | ASP.NET, MVC, .NET Framework, WCF, WF, NHibernate, Linq, Microsoft</title><link>http://imperugo.tostring.it/</link><description>Il blog personale di Ugo Lattanzi dove potete trovare risorse su ASP.NET, MVC, .NET Framework, WCF, WF, NHibernate, Linq ed eventi sul mondo Microsoft</description><copyright>Ugo Lattanzi</copyright><docs>http://www.rssboard.org/rss-specification</docs><generator>http://dexterblogengine.codeplex.com</generator><language>en-US</language><lastBuildDate>Fri, 04 Nov 2011 10:15:00 GMT</lastBuildDate><webMaster>imperugo</webMaster><category>ASP.NET</category><category>ASP.NET 2.0</category><category>.aspx</category><category>.ascx</category><category>.NET Framework</category><category>WCF</category><category>Windows Communication Foundation</category><category>Web Services</category><category>NHibernate</category><category>Linq</category><category>IIS</category><category>Windows Server</category><category>Entity Framework</category><category>Active Server Pages</category><category>Architettura</category><category>Scalabilità</category><category>C#</category><category>Microsoft</category><category>Visual Studio .NET</category><category>Web</category><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/imperugo" /><feedburner:info uri="imperugo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=it&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://eur.i1.yimg.com/eur.yimg.com/i/it/my/mioya1.gif">Subscribe with Mio Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/imperugo" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fimperugo" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item><title>http o https?</title><description>&lt;p&gt;Quando ci troviamo a navigare pagine web con connessione protetta - e per connessione protetta intendo tramite il protocollo https - ed alcune delle sue risorse (immagini, javascript, css, etc) non puntano ad un indirizzo sicuro, rischiamo di avere una fastidiosa notifica da parte del browser che ci obbliga a dare il consenso per mostrare i contenuti non sicuri.&lt;/p&gt;  &lt;p&gt;Diamo un occhio all’html seguente per capire meglio di cosa stiamo parlando:&lt;/p&gt;  &lt;pre class="brush: xml;"&gt;    
    
    
    &lt;meta name="description" content="" /&gt;
    &lt;meta name="author" content="" /&gt;
    &lt;link rel="stylesheet" href="http://mysite.com/css/mystyle.css" /&gt;
    &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script type="text/javascript" src="http://mysite.com/js/libs/modernizr-1.7.min.js?v=1.5.0.21"&gt;&lt;/script&gt;&lt;/pre&gt;

&lt;p&gt;Finché navighiamo la pagina sopra in http non c’è nessun problema ma, se proviamo ad aprire la stessa pagina in https, un buon browser dovrebbe notificarci il rischio a cui andiamo incontro (sia il css, sia jquery puntano ad una connessione http e non https). 
  &lt;br /&gt;Per evitare il problema ci basta cambiare le url da http://.... ad https://..... nel caso la connessione corrente sia in https, e viceversa. 

  &lt;br /&gt;Ovviamente questo cambio deve essere automatico e, riempire il codice di html di &lt;strong&gt;&lt;em&gt;if&lt;/em&gt;&lt;/strong&gt; che cambiano il protocollo, non è la soluzione corretta!&lt;/p&gt;

&lt;p&gt;Fortunatamente esiste un rimedio più semplice e pulito che consiste nella rimozione dall’url della parte relativa al tipo di protocollo; quindi dobbiamo rimuovere &lt;strong&gt;&lt;em&gt;http:&lt;/em&gt;&lt;/strong&gt; o &lt;strong&gt;&lt;em&gt;https:&lt;/em&gt;&lt;/strong&gt; e lasciare semplicemente il &lt;strong&gt;&lt;em&gt;//&lt;/em&gt;&lt;/strong&gt; come mostrato di seguito.&lt;/p&gt;

&lt;pre class="brush: xml;"&gt;    
    
    
    &lt;meta name="description" content="" /&gt;
    &lt;meta name="author" content="" /&gt;
    &lt;link rel="stylesheet" href="//mysite.com/css/mystyle.css" /&gt;
    &lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script type="text/javascript" src="//mysite.com/js/libs/modernizr-1.7.min.js?v=1.5.0.21"&gt;&lt;/script&gt;&lt;/pre&gt;

&lt;p&gt;A questo punto sarà il browser a “switchare” in automatico dalla connessione &lt;strong&gt;&lt;em&gt;http/https&lt;/em&gt;&lt;/strong&gt; in base a quella corrente.&lt;/p&gt;

&lt;p&gt;Questa tecnica prende il nome di “&lt;strong&gt;network-path reference&lt;/strong&gt;” (maggiori info &lt;a title="Relative Reference RFC 3986" href="http://tools.ietf.org/html/rfc3986#section-4.2" rel="nofollow" target="_blank"&gt;qui&lt;/a&gt;) e funziona anche per i css, come potete vedere sotto:&lt;/p&gt;

&lt;pre class="brush: css;"&gt;.mycssclass { background: url(//mysite.com/myimage.jpg); }&lt;/pre&gt;

&lt;p&gt;Inoltre questo approccio funziona egregiamente con tutti i browser, tranne che con Internet Explorer 7 e 8 dove, solo per i tag &lt;link /&gt;o @import, il download della risorsa avviene due volte (maggiori info &lt;a title="5a Missing schema double download" href="http://www.stevesouders.com/blog/2010/02/10/5a-missing-schema-double-download/" rel="nofollow" target="_blank"&gt;qui&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Figo no?&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/http-o-https/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=YgEbr45saFw:uUp5F7xvmTI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=YgEbr45saFw:uUp5F7xvmTI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=YgEbr45saFw:uUp5F7xvmTI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=YgEbr45saFw:uUp5F7xvmTI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=YgEbr45saFw:uUp5F7xvmTI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/YgEbr45saFw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/YgEbr45saFw/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/http-o-https/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/http-o-https/</guid><pubDate>Fri, 04 Nov 2011 16:15:00 GMT</pubDate><category>HTML</category><category>Risorse</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/http-o-https/</feedburner:origLink></item><item><title>Attenzione al %20 nelle url</title><description>&lt;p&gt;Giorni fa ho avuto a che fare con un piccolo problema riguardante le url di una mia applicazione web. In pratica mi trovavo con delle richieste verso un indirizzo tipo il seguente “&lt;strong&gt;/mycontroller/myaction/myid%20&lt;/strong&gt;” (per chi non lo sapesse %20 equivale allo spazio) che, non per volere mio, restituiva sempre un &lt;strong&gt;404&lt;/strong&gt; invece di dirottare la chiamata verso il mio controller.&lt;/p&gt;  &lt;p&gt;Come si può ben immaginare il problema è dovuto a quel &lt;em&gt;%20&lt;/em&gt; che, per qualche strano motivo, non viene digerito dal sistema di routing di &lt;a title="ASP.NET Posts" href="http://tostring.it/tags/archive/asp.net" target="_blank"&gt;ASP.NET&lt;/a&gt; 3.5 SP1.&lt;/p&gt;  &lt;p&gt;Ovviamente un url del genere può sembrare raro in un’applicazione web, e molti di voi si chiederanno il perché di tale indirizzo, quindi provo a spiegarlo di seguito &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://tostring.it/UserFiles/imperugo/wlEmoticon-smile_2_13.png" /&gt;.&lt;/p&gt;  &lt;p&gt;La settimana scorsa mi trovavo a sviluppare un textbox autocomplete con jquery per un’applicazione ASP.NET MVC; sfortunatamente le features richieste non erano coperte dalle migliaia di esempi presenti in rete, quindi mi sono dovuto armare di coraggio e, a colpi di javascript e json, sono riuscito a realizzare la textbox che trovate &lt;a title="Alumni web site!" href="http://alumni.polimi.it/it/Wall" rel="nofollow" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;All’apparenza il funzionamento è identico a quello di tutte le textbox con autocomplete. Per capire il problema sopra mostrato, non è necessario addentrarsi nel codice javascript o nel modo in cui ho implementato la textbox, ma basta capire cosa fa per mostrare i suggerimenti all’utente.&lt;/p&gt;  &lt;p&gt;Nel momento in cui l’utente digita qualcosa, questo qualcosa viene inviato ad una Action di un controller MVC che non fa altro che eseguire una query con un like e restituire i primi 7 elementi. Questo vuol dire che ogni volta in cui l’utente digita una lettera all’interno della textbox, via javascript viene inviato il testo digitato per eseguire l’operazione sopra descritta.    &lt;br /&gt;Passando alla pratica, quando l’utente digita “Mario”, una chiamata tipo la seguente “&lt;strong&gt;/Search/PersonSuggestion/Mario&lt;/strong&gt;” viene effettuata.&lt;/p&gt;  &lt;p&gt;Supponiamo ora di voler raffinare la ricerca in quanto troppe persone si chiamano Mario, e noi vogliamo trovare il classicissimo Mario Rossi.&lt;/p&gt;  &lt;p&gt;Nel momento in cui l’utente deve aggiungere “ Rossi” (spazio Rossi), la chiamata diventa più o meno così:&lt;/p&gt;  &lt;p&gt;“&lt;strong&gt;/Search/PersonSuggestion/Mario%20Rossi&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;Ovviamente prima di arrivare a digitare Rossi c’è uno spazio, quindi verrà effettuata una chiamata come questa: “&lt;strong&gt;/Search/PersonSuggestion/Mario%20&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;Ed eccoci arrivati al problema iniziale: il 404 da parte del server.&lt;/p&gt;  &lt;p&gt;Il motivo risiede nel fatto che il runtime di ASP.NET effettua una validazione delle url in entrata, applicando le stesse regole del filesystem. Questo vuol dire che, così come non possiamo creare una folder con lo spazio alla fine (quindi “Mario “), non possiamo neanche avere un url con lo stesso spazio.&lt;/p&gt;  &lt;p&gt;Ovviamente questo tipo di validazione è “aggirabile” grazie ad una proprietà dal curioso nome “RelaxedUrlToFileSystemMapping”, da aggiungere alla sezione HttpRuntime del web.config come mostrato di seguito.&lt;/p&gt;  &lt;pre class="brush: xml;"&gt;&amp;lt;system.web&amp;gt;
    &amp;lt;httpRuntime 
            requestValidationMode=&amp;quot;2.0&amp;quot; 
            executionTimeout=&amp;quot;20&amp;quot; 
            requestPathInvalidCharacters=&amp;quot;&amp;quot; 
            relaxedUrlToFileSystemMapping=&amp;quot;true&amp;quot; /&amp;gt;&lt;/pre&gt;

&lt;p&gt;Ciauz &lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/attenzione-al-20-nelle-url/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;h2&gt;Related Content&lt;/h2&gt;&lt;ul&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/configurare-il-routing-di-aspnet-mvc-tramite-xml/"&gt;Configurare il Routing di ASP.NET MVC tramite XML&lt;/a&gt; (8/6/2009)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/controller-omonimi-aspnet-mvc/"&gt;Controller omonimi in ASP.NET MVC&lt;/a&gt; (2/2/2011)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/submit-via-jquery-con-aspnetmvc-2-e-validazione-client-side-un-bel-cocktail/"&gt;Submit via jQuery con ASP.NET MVC 2 e Validazione Client Side, un bel cocktail&lt;/a&gt; (5/28/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/validazione-client-side-su-aspnet-mvc-2-con-jquery/"&gt;Validazione Client-Side su ASP.NET MVC 2 con jQuery&lt;/a&gt; (5/26/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/compilare-le-applicazioni-64bit/"&gt;Compilare le applicazioni a 64Bit&lt;/a&gt; (9/6/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="/Blog/Related/attenzione-al-20-nelle-url"&gt;&lt;strong&gt;More related document (113)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=nC3sAg9MsWU:PNeTh9IbvWo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=nC3sAg9MsWU:PNeTh9IbvWo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=nC3sAg9MsWU:PNeTh9IbvWo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=nC3sAg9MsWU:PNeTh9IbvWo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=nC3sAg9MsWU:PNeTh9IbvWo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/nC3sAg9MsWU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/nC3sAg9MsWU/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/attenzione-al-20-nelle-url/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/attenzione-al-20-nelle-url/</guid><pubDate>Wed, 02 Nov 2011 16:15:00 GMT</pubDate><category>ASP.NET</category><category>MVC</category><category>Routing</category><category>Configurazione</category><category>.NET</category><category>Runtime</category><category>JQuery</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/attenzione-al-20-nelle-url/</feedburner:origLink></item><item><title>WPC 2011. Save the date!</title><description>&lt;p&gt;&lt;a href="http://tostring.it/UserFiles/imperugo/b1_180x150_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 8px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Stampa" border="0" alt="Stampa" align="left" src="http://tostring.it/UserFiles/imperugo/b1_180x150_thumb.jpg" width="184" height="154" /&gt;&lt;/a&gt; Anche quest’anno (per il terzo anno consecutivo), ho la fortuna di partecipare come speaker alla più importante conferenza italiana sul mondo Microsoft e non solo.     &lt;br /&gt;Specifico il “non solo”, perché proprio io sarò lì per parlare di &lt;a title="HTML articles" href="http://tostring.it/tags/archive/html5" target="_blank"&gt;HTML5&lt;/a&gt; che, come tutti sappiamo, non è una tecnologia Microsoft, ma è sicuramente un percorso importante per il futuro delle applicazione web e non. &lt;/p&gt;  &lt;p&gt;Anche il “e non” non è a caso J. Oltre ad una sessione full immersion su HTML5 in cui mostrerò tutto ciò che ad oggi possiamo utilizzare e cosa arriverà a breve, parteciperò sempre come speaker ad un’altra sessione sul data entry in Windows 8 dove, insieme al mitico &lt;a title="Salvatore Di Fazio&amp;#39;s blog" href="http://bitvector.tostring.it/" rel="nofollow" target="_blank"&gt;Salvuzzo&lt;/a&gt;, mostreremo come accedere e mostrare dati in un’applicazione Metro UI con C# e HTML5+JS.&lt;/p&gt;  &lt;p&gt;Direi che di motivi per non mancare ce ne sono tanti. Se non vi bastano date un’occhiata agli &lt;a title="WPC Speakers" href="http://www.wpc2011.it/speakers.aspx" target="_blank"&gt;speaker&lt;/a&gt; e all’&lt;a title="WPC Agenda" href="http://www.wpc2011.it/agenda.aspx" target="_blank"&gt;agenda&lt;/a&gt;, aggiungeteci che l’early bird è stata prolungata fino al 31 ottobre, e a questo punto non avete proprio più scuse &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://tostring.it/UserFiles/imperugo/wlEmoticon-smile_2_12.png" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;See you there!&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/wpc-2011.-save-the-date/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;h2&gt;Related Content&lt;/h2&gt;&lt;ul&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/23-24-25-novembre-techdayswpc/"&gt;23, 24 e 25 novembre TechDays-WPC!&lt;/a&gt; (11/18/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="/Blog/Related/wpc-2011.-save-the-date"&gt;&lt;strong&gt;More related document (1)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=0OFJvt17x8w:_CbuiOy02C0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=0OFJvt17x8w:_CbuiOy02C0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=0OFJvt17x8w:_CbuiOy02C0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=0OFJvt17x8w:_CbuiOy02C0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=0OFJvt17x8w:_CbuiOy02C0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/0OFJvt17x8w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/0OFJvt17x8w/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/wpc-2011.-save-the-date/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/wpc-2011.-save-the-date/</guid><pubDate>Fri, 28 Oct 2011 16:30:00 GMT</pubDate><category>WPC</category><category>Eventi</category><category>HTML5</category><category>MetroUI</category><category>Windows8</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/wpc-2011.-save-the-date/</feedburner:origLink></item><item><title>Sincronizzare più folder con DropBox</title><description>&lt;p&gt;Chiacchierando con amici e colleghi, ho notato che molti fanno uso di DropBox come tool/repository per condividere e “backuppare” le informazioni più importanti. Uno dei motivi per cui ritengo DropBox un ottimo tool è sicuramente il buon funzionamento ed il supporto praticamente a tutte le piattaforme (Windows, Mac, iPhone, Android, etc).&lt;/p&gt;  &lt;p&gt;Tuttavia uno dei più grandi limiti di DropBox è la folder di Sync. Una volta installato si ha la possibilità di effettuare il sync ed il backup solo della folder creata dal client, con l’obbligo di copiare tutti i nostri file al suo interno, rinunciando alla struttura presente nel nostro Hard Drive.&lt;/p&gt;  &lt;p&gt;Fortunatamente è ora possibile aggirare questo problema scaricando “&lt;strong&gt;Drop Box Folder Sync&lt;/strong&gt;” da qui &lt;a href="http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders"&gt;http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una volta installato il client, possiamo aggiungere e togliere tutte le folder che preferiamo in qualsiasi parte dell’hard-disk; infatti, cliccando con il tasto destro su una cartella, si noterà l’aggiunta di due nuove voci di menù:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Sync with DropBox&lt;/strong&gt;; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;UnSync with DropBox&lt;/strong&gt;; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Inutile spiegarne il significato. &lt;/p&gt;  &lt;p&gt;Ciauz&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/sincronizzare-piu-folder-con-dropbox/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=yVFK-cli2XI:2Sw_7Rks2R8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=yVFK-cli2XI:2Sw_7Rks2R8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=yVFK-cli2XI:2Sw_7Rks2R8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=yVFK-cli2XI:2Sw_7Rks2R8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=yVFK-cli2XI:2Sw_7Rks2R8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/yVFK-cli2XI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/yVFK-cli2XI/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/sincronizzare-piu-folder-con-dropbox/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/sincronizzare-piu-folder-con-dropbox/</guid><pubDate>Wed, 26 Oct 2011 16:30:00 GMT</pubDate><category>DropBox</category><category>Utility</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/sincronizzare-piu-folder-con-dropbox/</feedburner:origLink></item><item><title>Dominio stai lontano dalle mie View</title><description>&lt;p&gt;Tutti i giorni mi capita di consultare esempi e progetti fatti da altri, sia nel mondo dell’open source che nel mondo del lavoro.&lt;/p&gt;  &lt;p&gt;Moltissime volte ho visto applicazioni &lt;a title="Posts about mvc" href="http://tostring.it/tags/archive/mvc" target="_blank"&gt;MVC&lt;/a&gt; che hanno il “vizietto” di utilizzare le classi del dominio direttamente dentro le View. Devo ammettere che anche io in passato sono stato tentato - a volte ho anche ceduto - di percorrere questa strada per accorciare i tempi di sviluppo ma, ancora una volta, mi trovo a blaterare su questo errore.&lt;/p&gt;  &lt;p&gt;Partendo dalla premessa che noi siamo pagati per sviluppare del buon codice (non credo che mai nessuno vi abbia mai detto – “ti pago, ma scrivi un codice di merda!”), e che non dobbiamo scrivere il codice a nostra comodità perché siamo pigri, volevo ricordare alcuni dei problemi che si posso incontrare utilizzando il dominio nella view:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;La view può avere maggior complessità&lt;/b&gt; (non è detto che l’entity abbia le info come le vuole la view, e quindi questa deve recuperarle ed adattarle): questo rischia di creare scenari la cui testabilità della view può diventare difficile, se non impossibile; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Query inaspettate&lt;/b&gt;. Spesso le entity di dominio sono “proxate” da un O/RM, questo vuol dire che colui che realizzerà la view potrà accedere ad una property che scatenerà a sua volta una query onerosa (magari vuole mostrare il numero di prodotti e fa un count su IList&amp;lt;Product&amp;gt;, finendo con il caricare tutti i prodotti); &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Problemi di balancing&lt;/b&gt;. Per lo stesso motivo di cui sopra (proxy dell’O/RM), le entity di dominio possono non essere serializzabili, escludendo così la possibilità di effettuare caching sui dati delle view. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Crescita applicativa bloccata&lt;/b&gt;. Se all’improvviso, per imposizioni del client o per scelte architetturali, ci si trova nella situazione in cui tutta la logica di accesso ai dati finisce in un servizio e le view non possono arrivare direttamente all’O/RM, siamo costretti a riscrivere tutta la parte dinamica delle view attingendo ai DTO restituiti dal servizio. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Capisco la comodità e la velocità nell’utilizzare il dominio nella view, ma fidatevi, alla lunga paga la strada corretta!&lt;/p&gt;  &lt;p&gt;Ciauz&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/dominio-stai-lontano-dalle-mie-view/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;h2&gt;Related Content&lt;/h2&gt;&lt;ul&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/un-transaction-manager-in-un-sistema-ntier/"&gt;Un Transaction Manager in un sistema nTier&lt;/a&gt; (12/11/2006)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/il-domain-model/"&gt;Il Domain Model&lt;/a&gt; (9/6/2006)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/riflessioni-su-nhibernate/"&gt;Riflessioni su NHibernate&lt;/a&gt; (7/17/2006)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/wcf-msmq-e-service-broker/"&gt;WCF, MSMQ e Service Broker&lt;/a&gt; (7/21/2008)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/scalabilita-di-applicazioni-web-con-il-caching/"&gt;Scalabilità di applicazioni web con il caching&lt;/a&gt; (7/28/2009)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="/Blog/Related/dominio-stai-lontano-dalle-mie-view"&gt;&lt;strong&gt;More related document (51)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=e-FGWjv2guc:IhA_lUYy6Ec:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=e-FGWjv2guc:IhA_lUYy6Ec:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=e-FGWjv2guc:IhA_lUYy6Ec:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=e-FGWjv2guc:IhA_lUYy6Ec:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=e-FGWjv2guc:IhA_lUYy6Ec:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/e-FGWjv2guc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/e-FGWjv2guc/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/dominio-stai-lontano-dalle-mie-view/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/dominio-stai-lontano-dalle-mie-view/</guid><pubDate>Tue, 25 Oct 2011 16:30:00 GMT</pubDate><category>MVC</category><category>Architettura</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/dominio-stai-lontano-dalle-mie-view/</feedburner:origLink></item><item><title>La compilazione di ASP.NET</title><description>&lt;p&gt;Il web.config è sicuramente familiare a tutti noi sviluppatori web, ma ci sono alcuni attributi che valgono la scrittura di un post ad hoc.&lt;/p&gt;  &lt;p&gt;Oltre al classico connectionstrings e appsettings, in tutti i file di configurazione per applicazioni web esiste una sezione chiamata “&lt;em&gt;compilation&lt;/em&gt;”, che permette di impostare un set di parametri che andranno ad influenzare la compilazione delle nostre pagine web.&lt;/p&gt;  &lt;p&gt;Alcuni di questi attributi parlano da soli - inutile spiegare a cosa serve l’attributo &lt;em&gt;debub=”true”&lt;/em&gt; - , ma ce ne sono altri che spesso si tralasciano o non si conoscono affatto.&lt;/p&gt;  &lt;p&gt;Per esempio recentemente ho scoperto l’esistenza dell’attributo &lt;em&gt;optimizeCompilations&lt;/em&gt; che, se impostato su &lt;em&gt;true&lt;/em&gt;, può aumentare in maniera significativa i tempi di compilazione delle pagine web (maggiori informazioni qui &lt;a href="http://blogs.msdn.com/b/davidebb/archive/2009/04/15/a-new-flag-to-optimize-asp-net-compilation-behavior.aspx"&gt;http://blogs.msdn.com/b/davidebb/archive/2009/04/15/a-new-flag-to-optimize-asp-net-compilation-behavior.aspx&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Anche l’attributo &lt;em&gt;batch&lt;/em&gt; ha lo scopo di migliorare le performance di compilazione ma, a differenza dell’attributo &lt;em&gt;optimizeCompilations&lt;/em&gt;, questo è impostato di default su true, quindi possiamo omettere questo attributo nel nostro file di configurazione.&lt;/p&gt;  &lt;p&gt;Un altro interessante attributo è &lt;em&gt;numRecompilesBeforeAppRestart&lt;/em&gt; che, se impostato con dei valori corretti, può evitare alcuni noiosi restart dell’applicativo.&lt;/p&gt;  &lt;p&gt;In ogni caso il mio preferito resta l’attributo &lt;em&gt;tempDirectory&lt;/em&gt; &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://tostring.it/UserFiles/imperugo/wlEmoticon-smile_2_11.png" /&gt;. Questo attributo permette di specificare la directory dove verranno salvati i file temporanei di compilazione.     &lt;br /&gt;Il perché mi piace particolarmente questo attributo è dovuto al fatto che uso un RAM Disk (personalmente uso questo &lt;a href="http://memory.dataram.com/products-and-services/software/ramdisk"&gt;http://memory.dataram.com/products-and-services/software/ramdisk&lt;/a&gt;) e, impostando la compilazione dei file di ASP.NET su questo particolare drive, si ottengono delle performance notevoli, specie in fase di startup.&lt;/p&gt;  &lt;p&gt;Concludo con un pezzo della mia configurazione :&lt;/p&gt;  &lt;pre class="brush: xml;"&gt;&amp;lt;compilation tempDirectory=&amp;quot;G:\aspnet.temp\&amp;quot; 
                    optimizeCompilations=&amp;quot;true&amp;quot; 
                    batch=&amp;quot;true&amp;quot; 
                    debug=&amp;quot;true&amp;quot; 
                    defaultLanguage=&amp;quot;c#&amp;quot; 
                    numRecompilesBeforeAppRestart=&amp;quot;250&amp;quot; 
                    targetFramework=&amp;quot;4.0&amp;quot;&amp;gt;
    &amp;lt;assemblies&amp;gt;
        &amp;lt;add assembly=&amp;quot;System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&amp;quot; /&amp;gt;
        &amp;lt;add assembly=&amp;quot;System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&amp;quot; /&amp;gt;
        &amp;lt;add assembly=&amp;quot;System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&amp;quot; /&amp;gt;
        &amp;lt;add assembly=&amp;quot;System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&amp;quot; /&amp;gt;
        &amp;lt;add assembly=&amp;quot;System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&amp;quot; /&amp;gt;
    &amp;lt;/assemblies&amp;gt;
&amp;lt;/compilation&amp;gt;&lt;/pre&gt;

&lt;p&gt;Ciauz!&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/la-compilazione-di-asp.net/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=TCRzEmeJV4Q:U9p4jSZW2KI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=TCRzEmeJV4Q:U9p4jSZW2KI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=TCRzEmeJV4Q:U9p4jSZW2KI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=TCRzEmeJV4Q:U9p4jSZW2KI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=TCRzEmeJV4Q:U9p4jSZW2KI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/TCRzEmeJV4Q" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/TCRzEmeJV4Q/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/la-compilazione-di-asp.net/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/la-compilazione-di-asp.net/</guid><pubDate>Fri, 14 Oct 2011 16:00:00 GMT</pubDate><category>ASP.NET</category><category>Ottimizzazione</category><category>Configurazione</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/la-compilazione-di-asp.net/</feedburner:origLink></item><item><title>Alcuni webcast su ASP.NET MVC e molto altro.</title><description>&lt;p&gt;Con il mio consueto ritardo (scusate ma è un periodo pienissimo), volevo postare alcuni webcast miei e di &lt;a title="Simone Chiaretta&amp;#39;s blog" href="http://codeclimber.net.nz/" rel="nofollow" target="_blank"&gt;Simone Chiaretta&lt;/a&gt; riguardanti il mondo del web developer in generale. &lt;/p&gt;  &lt;p&gt;Gli argomenti trattati infatti coprono la parte di sviluppo, ma anche argomenti come &lt;a title="Posts about SQL" href="http://tostring.it/tags/archive/sql" target="_blank"&gt;SQL&lt;/a&gt; CE con Entity Framework Code First ed &lt;a title="Posts about IIS" href="http://tostring.it/tags/archive/iis" target="_blank"&gt;IIS&lt;/a&gt; Express.&lt;/p&gt;  &lt;p&gt;Come sempre feedback e domande sono i benvenuti, anche in base alle vostre esperienze!&lt;/p&gt;  &lt;p&gt;Buona Visione&lt;/p&gt;  &lt;h3&gt;IIS Express&lt;/h3&gt;  &lt;p&gt;&lt;iframe style="width: 512px; height: 288px" src="http://channel9.msdn.com/Blogs/PietroBrambati/ASPNET-MVC-3-IIS-Express/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;h3&gt;ASP.NET MVC Razor&lt;/h3&gt;  &lt;p&gt;&lt;iframe style="width: 512px; height: 288px" src="http://channel9.msdn.com/Blogs/PietroBrambati/ASPNET-MVC-3-Razor/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;h3&gt;ASP.NET MVC 3 - Dependency Injection(DI)&lt;/h3&gt;  &lt;p&gt;&lt;iframe style="width: 512px; height: 288px" src="http://channel9.msdn.com/Blogs/PietroBrambati/ASPNET-MVC-3-Dependency-InjectionDI/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;h3&gt;ASP.NET MVC 3 - SQL CE 4&lt;/h3&gt;  &lt;p&gt;&lt;iframe style="width: 512px; height: 288px" src="http://channel9.msdn.com/Blogs/PietroBrambati/ASPNET-MVC-3-SQL-CE-4/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;h3&gt;ASP.NET MVC 3 - Le novità&lt;/h3&gt;  &lt;p&gt;&lt;iframe style="width: 512px; height: 288px" src="http://channel9.msdn.com/Blogs/PietroBrambati/ASPNET-MVC-3-Le-novit/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/alcuni-webcast-su-asp.net-mvc-e-molto-altro/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;h2&gt;Related Content&lt;/h2&gt;&lt;ul&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/disponibile-il-mio-webcast-su-asp.net-mvc-2-security/"&gt;Disponibile il mio webcast su ASP.NET MVC 2: security&lt;/a&gt; (7/8/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/disponibile-il-mio-webcast-su-aspnet-mvc-2/"&gt;Disponibile il mio webcast su ASP.NET MVC 2&lt;/a&gt; (5/17/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/scott-guthrie-spiega-aspnet-mvc/"&gt;Scott Guthrie spiega ASP.NET MVC&lt;/a&gt; (7/21/2009)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/sparkviewengine-iterazioni/"&gt;SparkViewEngine: Iterazioni&lt;/a&gt; (7/13/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="http://imperugo.tostring.it/blog/post/sparkviewengine-conditional_elements_if_else_elseif/"&gt;SparkViewEngine: If, else, elseif&lt;/a&gt; (7/7/2010)&lt;/li&gt;&lt;li style="list-style-type: none"&gt;&lt;a href="/Blog/Related/alcuni-webcast-su-asp.net-mvc-e-molto-altro"&gt;&lt;strong&gt;More related document (61)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=IhLAqf2JYzg:E6qaAkqY0Uo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=IhLAqf2JYzg:E6qaAkqY0Uo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=IhLAqf2JYzg:E6qaAkqY0Uo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=IhLAqf2JYzg:E6qaAkqY0Uo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=IhLAqf2JYzg:E6qaAkqY0Uo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/IhLAqf2JYzg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/IhLAqf2JYzg/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/alcuni-webcast-su-asp.net-mvc-e-molto-altro/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/alcuni-webcast-su-asp.net-mvc-e-molto-altro/</guid><pubDate>Tue, 11 Oct 2011 16:00:00 GMT</pubDate><category>MVC</category><category>IIS</category><category>Sql</category><category>Razor</category><category>ViewEngine</category><category>Webcast</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/alcuni-webcast-su-asp.net-mvc-e-molto-altro/</feedburner:origLink></item><item><title>E son Tre!</title><description>&lt;p&gt;Nonostante lo scherzetto di Google (vedi immagine sotto), anche quest’anno ho ricevuto la mail che mi comunicava il rinnovo dell’Award Microsoft &lt;a title="MVP Official Site" href="http://mvp.support.microsoft.com/" rel="nofollow" target="_blank"&gt;MVP&lt;/a&gt; su ASP.NET/IIS.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tostring.it/UserFiles/imperugo/SNAGHTML35e584a4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML35e584a4" border="0" alt="SNAGHTML35e584a4" src="http://tostring.it/UserFiles/imperugo/SNAGHTML35e584a4_thumb.png" width="640" height="263" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Inutile parlare ancora di quanto è un piacere per me far parte di questo gruppo che, oltre ad essere un insieme di professionisti, si sta dimostrando anche un insieme di amici.    &lt;br /&gt;Un super grazie al mio lead ed amico &lt;a title="Alessandro Teglia&amp;#39;s Blog" href="http://belead.wordpress.com/" rel="nofollow" target="_blank"&gt;Alessandro&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;Grazie ancora a tutti. &lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/e-son-tre/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=dbfjoJCde28:_qVdi5-vxgU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=dbfjoJCde28:_qVdi5-vxgU:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=dbfjoJCde28:_qVdi5-vxgU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=dbfjoJCde28:_qVdi5-vxgU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=dbfjoJCde28:_qVdi5-vxgU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/dbfjoJCde28" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/dbfjoJCde28/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/e-son-tre/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/e-son-tre/</guid><pubDate>Mon, 03 Oct 2011 16:30:00 GMT</pubDate><category>MVP Program</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/e-son-tre/</feedburner:origLink></item><item><title>Troppe novità tutte insieme (2 di 2)</title><description>&lt;p&gt;&lt;a href="http://tostring.it/UserFiles/imperugo/build_logo_2_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 8px 6px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="build_logo_2" border="0" alt="build_logo_2" align="left" src="http://tostring.it/UserFiles/imperugo/build_logo_2_thumb.png" width="240" height="86" /&gt;&lt;/a&gt;Nel precedente &lt;a title="Troppe novità tutte insieme (1 di 2)" href="http://tostring.it/blog/post/troppe-novita-tutte-insieme-1-di-2/" rel="nofollow" target="_blank"&gt;post&lt;/a&gt; avevo elencato le principali novità presentate durante la keynote del primo giorno del &lt;a title="BUILD conference highlights" href="http://www.buildwindows.com/" rel="nofollow" target="_blank"&gt;//build&lt;/a&gt;, conferenza di Microsoft orientata principalmente su Windows 8, ma non solo. &lt;/p&gt;  &lt;p&gt;Anche con questo post arrivo in netto ritardo rispetto a molti altri blogger, ma purtroppo non ho avuto modo di vedere la presentazione prima di oggi; quindi eccomi qui a parlare di Azure, MVC4 e Visual Studio 2011, i protagonisti della seconda Keynote.&lt;/p&gt;  &lt;h3&gt;MetroUI+Azure&lt;/h3&gt;  &lt;p&gt;La prima demo ha mostrato come lo sviluppo di applicazioni Metro UI non si limiti al semplice HTML+JS o C#, ma è possibile sfruttare le potenzialità del Cloud Computing (Azure nel caso di Microsoft) per creare applicazioni molto più spinte. Nell’esempio è stato mostrato un gioco in cui i due giocatori utilizzavano come device un computer da una parte ed un Windows Phone dall’altra, il tutto in tempo reale. Direi una demo davvero sbalorditiva in quanto apre scenari sicuramente interessanti. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://tostring.it/UserFiles/imperugo/image_3_5.png" width="640" height="365" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Visual Studio 2011&lt;/h3&gt;  &lt;p&gt;Già un po’ se ne parlava in rete, però qui viene effettivamente mostrato e le novità sono molte.    &lt;br /&gt;In primis i Productivity Power Tools sono integrati nella versione finale di Visual Studio, al contrario di oggi che sono scaricabili come plugin separatamente.     &lt;br /&gt;Un’altra interessante feature è il “find matching clones”, che ha lo scopo di trovare blocchi di codice duplicati. Devo dire che questa feature mi incuriosisce veramente tanto: vorrei capire lo scope in cui effettua le ricerche, e di conseguenza capire se si sovrappone ad un qualcosa di molto simile offerto da Resharper.&lt;/p&gt;  &lt;h3&gt;ASP.NET&lt;/h3&gt;  &lt;p&gt;Nell’ambito web ci sono veramente tante novità, alcune di notevole interesse, come la possibilità di affiancare del codice Server Side con del codice renderizzato.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tostring.it/UserFiles/imperugo/image_7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://tostring.it/UserFiles/imperugo/image_thumb_2_1.png" width="644" height="364" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Funzione sicuramente utile a capire dove stiamo sbagliando nella costruzione del markup.    &lt;br /&gt;Altra caratteristica molto importante è la possibilità di effettuare il minify dei file .js e .css, semplicemente aggiungendo come risorsa la folder: come per magia, a runtime verrà creata un'unica risorsa contenente tutti i file presenti all’interno della folder. In questo modo l’unica accortezza che si deve avere è la creazione delle folder in maniera razionale rispetto alle risorse necessarie.&lt;/p&gt;  &lt;h3&gt;ASP.NET MVC 4 Developer Preview&lt;/h3&gt;  &lt;p&gt;Come per Visual Studio e Windows, la next release di ASPNET MVC è ricca di novità, a partire dai nuovi template per il mondo mobile (utilizzando jQuery Mobile) e dal supporto per View differenziate semplicemente utilizzando l’estensione .mobile.cshtml.    &lt;br /&gt;Un’altra interessante novità è il supporto alla keyword async di C# 5.0 che, tramite degli attributi, risulta facilmente estendibile e configurabile.&lt;/p&gt;  &lt;p&gt;Download:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=MVC4VS2010&amp;amp;prerelease=true"&gt;ASP.NET MVC 4 for Visual Studio 2010&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=MVC4VS11&amp;amp;prerelease=true"&gt;ASP.NET MVC 4 for Visual Studio 11 Developer Preview&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.microsoft.com/download/en/details.aspx?id=27543" href="http://www.microsoft.com/download/en/details.aspx?id=27543" rel="nofollow" target="_blank"&gt;Microsoft® Visual Studio® 11 Developer Preview (Web Installer)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/learn/get-started/" target="_blank"&gt;Windows Azure SDK 1.5 (September 2011)&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-2-di-2/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=_Y3gzYU0iDg:4VCWVwwRQE8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=_Y3gzYU0iDg:4VCWVwwRQE8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=_Y3gzYU0iDg:4VCWVwwRQE8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=_Y3gzYU0iDg:4VCWVwwRQE8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=_Y3gzYU0iDg:4VCWVwwRQE8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/_Y3gzYU0iDg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/_Y3gzYU0iDg/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-2-di-2/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-2-di-2/</guid><pubDate>Mon, 26 Sep 2011 16:28:29 GMT</pubDate><category>Build</category><category>Eventi</category><category>News</category><category>MetroUI</category><category>ASP.NET</category><category>MVC</category><category>Visual Studio</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-2-di-2/</feedburner:origLink></item><item><title>Troppe novità tutte insieme (1 di 2)</title><description>&lt;p&gt;&lt;a href="http://tostring.it/UserFiles/imperugo/build_logo_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 7px 2px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="build_logo" border="0" alt="build_logo" align="left" src="http://tostring.it/UserFiles/imperugo/build_logo_thumb.png" width="240" height="86" /&gt;&lt;/a&gt;Che il &lt;a title="BUILD conference highlights" href="http://www.buildwindows.com/" rel="nofollow" target="_blank"&gt;//build&lt;/a&gt; fosse una conferenza dalle grandi novità ce lo aspettavamo un po’ tutti, ma che oltre a Windows 8 fossero mostrate tutte le next release dei principali tool e framework mi ha lasciato un po’ spiazzato; talmente spiazzato che questo post esce in ritardo rispetto a molti blogger in quanto ho dovuto metabolizzare tantissime informazioni J.&lt;/p&gt;  &lt;p&gt;In ogni caso procediamo con ordine e vediamo tutte le novità lato dev che ci riguardano:&lt;/p&gt;  &lt;h3&gt;Retrocompatibilità&lt;/h3&gt;  &lt;p&gt;Steven Sinofsky durante la keynote ha dichiarato che tutte le applicazioni funzionanti in Windows 7 saranno funzionanti anche nella prossima release del sistema operativo. Questo vuol dire che, nonostante le importanti novità che elencherò di seguito, non dobbiamo allarmarci J.&lt;/p&gt;  &lt;h3&gt;Metro UI, Store ed altre novità&lt;/h3&gt;  &lt;p&gt;Sicuramente come news principale c’è la nuova Metro UI, ossia una nuova interfaccia inizialmente pensata per il mondo touch, ma poi effettivamente utilizzabile anche da chi come me non ha un device touch. A dimostrazione, il menù start non esiste più e, premendo il pulsate cuore di Windows, si accederà direttamente alla nuova Metro UI, dove è possibile effettuare ricerche o eseguire applicazioni.    &lt;br /&gt;Inizialmente questo nuovo comportamento può lasciare l’utente un po’ spiazzato ma poi, una volta abituatisi, risulta molto comodo e pratico.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://tostring.it/UserFiles/imperugo/image_3_4.png" width="644" height="363" /&gt;&lt;/p&gt;  &lt;p&gt;Oltre ad essere molto reattiva, la parte Metro si può “unire” al classico desktop creando così un’ibrido dove, sulla parte sinistra possiamo tenere un’applicazione Metro Style e dall’altra una comunissima applicazione o il desktop stesso. Oltre a ciò è possibile “pinnare” sulla Welcome Page (e quindi la Metro UI) un po’ tutto, da applicazioni Metro a Visual Studio, un po’ come avviene per Windows Phone.&lt;/p&gt;  &lt;p&gt;Per quanto riguarda la parte desktop, rimane (per ora) un po’ tutto come prima, ci sono alcune novità ma diciamo pure che l’habitué Windows non si troverà spiazzato.&lt;/p&gt;  &lt;p&gt;Oltre alle novità legate alla UI, ne sono state mostrate parecchie altre: lo &lt;b&gt;Store App&lt;/b&gt; (non ancora disponibile se si installa Win8), il &lt;b&gt;Sync dei Settings&lt;/b&gt; (sfruttando Windows Live si avranno a disposizione le stesse cose per i differenti device, tablet, pc, phone, etc), &lt;b&gt;Hyper-V&lt;/b&gt; direttamente nel sistema operativo, &lt;b&gt;mount delle iso&lt;/b&gt; (stile Daemon Tool per intenderci), &lt;b&gt;supporto al multi-monitor migliorato&lt;/b&gt;, &lt;b&gt;controllo ortografico&lt;/b&gt; su tutto il sistema operativo, un &lt;b&gt;minor consumo della ram&lt;/b&gt; (circa il 20% in meno rispetto a Windows 7), &lt;b&gt;un avvio in pochi secondi&lt;/b&gt; (dai 4 agli 8 a seconda dell’hardware), un nuovo &lt;b&gt;task-manager&lt;/b&gt; e, grazie ad una sorta di hibernate delle applicazioni (zero cicli di clock ma l’applicazione rimane aperta) sembra che la durata della batteria sia migliorata.&lt;/p&gt;  &lt;h3&gt;Sviluppo.&lt;/h3&gt;  &lt;p&gt;Con Windows 8 è stato introdotto un nuovo stack chiamato Metro Style che, come è facilmente intuibile dal nome, serve a realizzare applicazioni per la UI Metro. Ovviamente, per garantire la retro compatibilità sopra citata, il classico stack Win32/.NET rimane, ma non sarà possibile realizzare un’applicazione che utilizzi entrambi gli stack. Questo vuol dire che se si vogliono coprire entrambi gli scenari, Metro e Win32, è necessario realizzare due applicazioni.&lt;/p&gt;  &lt;h3&gt;C/C++, XAML, C#, VB, HTML, Javascript&lt;/h3&gt;  &lt;p&gt;Chi più ne ha più ne metta! Sono questi i Framework/linguaggi che si possono utilizzare oggi per sviluppare applicazioni metro style, e tutti fanno capo ad un “sotto strato” chiamato WinRT (Windows Runtime) che altro non è che un set di API verso il kernel di Windows.    &lt;br /&gt;La slide seguente mostra un po’ più nel dettaglio come è strutturato lo sviluppo in Windows 8.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://tostring.it/UserFiles/imperugo/image_6_2.png" width="644" height="433" /&gt;&lt;/p&gt;  &lt;p&gt;Come potete vedere, lo XAML ora non è più parte del .NET Framework ma è presente direttamente nel sistema operativo, offrendone così la possibilità di utilizzo anche da linguaggi unmanaged come il C, o il C++.&lt;/p&gt;  &lt;p&gt;Un’altra novità che mi ha colpito in questa slide è l’assenza di Silverlight per lo sviluppo di applicazioni Metro Style, rilegandolo così nell’angolino in basso a destra.&lt;/p&gt;  &lt;h3&gt;HTML + Javascript&lt;/h3&gt;  &lt;p&gt;   &lt;br /&gt;Direi che è il vero protagonista (devside)! Di fatto ha molto più spazio ed importanza rispetto a Silverlight e apre nuove opportunità a tutti gli sviluppatori di frontend (HTML/Javascript). Ad oggi conosco diversi sviluppatori di frontend che, dopo la presentazione di Windows 8, si sono dimostrati interessati a sviluppare applicazioni per Windows.&lt;/p&gt;  &lt;h3&gt;Quale linguaggio scegliere?&lt;/h3&gt;  &lt;p&gt;   &lt;br /&gt;Beh difficile dirlo. In primis lo skill la fa da padrone. Se si è abituati a scrivere solo codice C# (non tutta la BCL è disponibile per le Metro Apps) e non si conosce il Javascript, la risposta vien da sola J.     &lt;br /&gt;Personalmente vedo una grande crescita del C++ nello sviluppo di applicazioni Windows e, volendo azzardare un po’, scegliere il Javascript+HTML5 per applicazioni che non necessitano di performance o calcoli troppo complessi, ed il C++ per le applicazioni in cui la velocità è il primo pillar, può essere la scelta giusta.     &lt;br /&gt;Un altro vantaggio del C++ e della coppia HTML+JS è la non necessità del .NET Framework. Questo offre vantaggi in fase di deploy e dipendenze.&lt;/p&gt;  &lt;h3&gt;WinRT &lt;/h3&gt;  &lt;p&gt;Sopra ho accennato di cosa si tratta, ma è giusto approfondire un po’, riportando alcuni punti scritti da &lt;a title="Raffaele Rialdi&amp;#39;blog" href="http://blogs.ugidotnet.org/raffaele" rel="nofollow" target="_blank"&gt;SuperRaf&lt;/a&gt; in questo &lt;a href="http://blogs.ugidotnet.org/raffaele/archive/2011/09/15/deep-diving-su-winrt-e-le-applicazioni-metro-di-windows.aspx" target="_blank"&gt;post&lt;/a&gt;.&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;&lt;/ul&gt;    &lt;li&gt;     &lt;p&gt;È il Windows Runtime che espone le funzionalità del sistema operativo in modo Object Oriented.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Non è codice managed e non necessita del .NET Framework. (Javascript, HTML, C e C++ non lo richiedono)&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Ha delle &amp;quot;Projection&amp;quot; che permettono ai vari linguaggi di interagire con il sistema operativo (C++, C#, VB.Net, Javascript)&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;I linguaggi managed sopra WinRT hanno sempre bisogno del CLR e il Framework fornito con Win8 è la versione 4.5 &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;WinRT è costruito con tecnologia COM e conserva tutti i relativi meccanismi (IUnknown, AddRef/Release, Apartment per i modelli di threading, la message pump per gestire le STA).&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;È possibile estenderlo, ma solo per una singola applicazione e quindi non condivisibile.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Il versioning di WinRT è basato sui concetti COM e prevede le estensioni che verranno nelle future versioni del sistema operativo&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Domande, dubbi e perplessità:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Ma WPF che fine ha fatto? &lt;/li&gt;    &lt;li&gt;Perché Silverlight è stato escluso dalla parte Metro UI? &lt;/li&gt;    &lt;li&gt;Il .NET non la fa più da protagonista come prima? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Un grande passo in avanti e veramente tante novità...non saprei da dove partire! Anzi si, dal download disponibile qui e dalle sessioni &lt;a href="http://tostring.it/blog/post/scaricare-tutti-i-video-delle-sessioni-del-build/" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;&lt;p style="height:20px"&gt;&lt;iframe src="http://www.facebook.com/plugins/like.php?href=http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-1-di-2/&amp;amp;layout=standard&amp;amp;show_faces=false&amp;amp;width=450&amp;amp;action=like&amp;amp;font=verdana&amp;amp;colorscheme=light&amp;amp;height=10" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=1qqQAoLWUrg:PwZSHRTlwdk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=1qqQAoLWUrg:PwZSHRTlwdk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=1qqQAoLWUrg:PwZSHRTlwdk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?i=1qqQAoLWUrg:PwZSHRTlwdk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/imperugo?a=1qqQAoLWUrg:PwZSHRTlwdk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/imperugo?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/imperugo/~4/1qqQAoLWUrg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/imperugo/~3/1qqQAoLWUrg/</link><author>imperugo</author><comments>http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-1-di-2/#feedback</comments><guid isPermaLink="false">http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-1-di-2/</guid><pubDate>Mon, 19 Sep 2011 16:16:17 GMT</pubDate><category>HTML5</category><category>C#</category><category>Javascript</category><category>C++</category><category>News</category><category>Build</category><category>Eventi</category><feedburner:origLink>http://imperugo.tostring.it/blog/post/troppe-novita-tutte-insieme-1-di-2/</feedburner:origLink></item></channel></rss>

