<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnetside.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>BlogServiceHost.Create()</title><link>http://dotnetside.org/blogs/fabio/default.aspx</link><description>WCF &amp;amp; Azure
-
Il blog di Fabio Cozzolino</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Microsoft Integration MVP 2013</title><link>http://dotnetside.org/blogs/fabio/archive/2013/04/17/microsoft-integration-mvp-2013.aspx</link><pubDate>Wed, 17 Apr 2013 06:14:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22993</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22993</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2013/04/17/microsoft-integration-mvp-2013.aspx#comments</comments><description>&lt;p&gt;Renewed! &lt;/p&gt;
&lt;p&gt;Il 1 aprile, come ogni anno, c'&amp;egrave; il secondo ciclo (avviene ogni trimestre) di nomine/rinnovi dell'award MVP. Per il quarto anno di fila Microsoft sono stato premiato nella categoria "Integration" (aka Connected Systems). WOW!&lt;/p&gt;
&lt;p&gt;L'award &amp;egrave; un traguardo, ma anche un punto di partenza ed una responsabilit&amp;agrave; ulteriore per le mie attivit&amp;agrave; in DotNetSide.&lt;/p&gt;
&lt;p&gt;Un grazie a tutti e ... stay tuned ... novit&amp;agrave; in arrivo &lt;img src="http://dotnetside.org/emoticons/emotion-1.gif" alt="Smile" /&gt;!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22993" width="1" height="1"&gt;</description></item><item><title>.NET Campus 2013 @ Roma</title><link>http://dotnetside.org/blogs/fabio/archive/2013/04/17/net-campus-2013-roma.aspx</link><pubDate>Tue, 16 Apr 2013 21:04:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22992</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22992</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2013/04/17/net-campus-2013-roma.aspx#comments</comments><description>&lt;p&gt;Anche quest'anno ho avuto l'onore di rappresentare DotNetSide alla tappa romana del .NET Campus 2013, contribuendo con una sessione dal titolo "notify your windows store app", totalmente incentrata sull'utilizzo del Service Bus Notification Hub come backend per la gestione dell'intero ciclo di vita delle sottoscrizioni ai vari Push Notification Services e dell'invio delle notifiche.&lt;/p&gt;
&lt;p&gt;Il .NET Campus &amp;egrave; come sempre una splendida occasione per incontrare amici e poter fare due chiacchiere praticamente parlando di tutto. Gran bella esperienza :).&lt;/p&gt;
&lt;p&gt;Purtroppo durane la sessione il mio notebook ha dato i numeri e non sono riuscito, a tempo ormai scaduto, a mostrare quello che avrei voluto. Far&amp;ograve; al pi&amp;ugrave; presto un video. Nel frattempo qui potete visionare le slide della mia sessione.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="https://skydrive.live.com/embed?cid=540D132F4650788F&amp;amp;resid=540D132F4650788F%213793&amp;amp;authkey=AGjx4MOJQ2X7pg8&amp;amp;em=2&amp;amp;wdAr=1.7777777777777777" width="350px" height="220px" frameborder="0"&gt;This is an embedded &amp;amp;lt;a target='_blank' href="http://office.com" mce_href="http://office.com"&amp;amp;gt;Microsoft Office&amp;amp;lt;/a&amp;amp;gt; presentation, powered by &amp;amp;lt;a target='_blank' href="http://office.com/webapps" mce_href="http://office.com/webapps"&amp;amp;gt;Office Web Apps&amp;amp;lt;/a&amp;amp;gt;.&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22992" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Service+Bus/default.aspx">Service Bus</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Service+Bus+Notification+Hub/default.aspx">Service Bus Notification Hub</category></item><item><title>Novità e price-drop in Windows Azure</title><link>http://dotnetside.org/blogs/fabio/archive/2012/12/22/novit-224-e-price-drop-in-windows-azure.aspx</link><pubDate>Sat, 22 Dec 2012 14:51:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22987</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22987</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/12/22/novit-224-e-price-drop-in-windows-azure.aspx#comments</comments><description>&lt;p&gt;Ieri sono state annunciate da &lt;a href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/a&gt;&amp;nbsp;tante, ma davvero tante, novit&amp;agrave; per quanto riguarda Windows Azure. Queste le pi&amp;ugrave; rilevanti:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mobile Services (job scheduler support, Europe Region Support, Command Line Support)&lt;/li&gt;
&lt;li&gt;Web Sites (scale improvements, integrated source control)&lt;/li&gt;
&lt;li&gt;SQL Data Sync (support in the new HTML portal)&lt;/li&gt;
&lt;li&gt;ACS Management (support in the new HTML portal)&lt;/li&gt;
&lt;li&gt;Media Services (job and task management, blob storage support, reserved compute)&lt;/li&gt;
&lt;li&gt;Virtual Network enhancements&lt;/li&gt;
&lt;li&gt;Subscription Filtering Support&lt;/li&gt;
&lt;li&gt;Windows Azure Store (now available in more countries)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;La comodit&amp;agrave; di creare jobs per i &lt;strong&gt;Mobile Services&lt;/strong&gt;&amp;nbsp;&amp;egrave; sicuramente una bella opportunit&amp;agrave;, ma finalmente si possono "posizionare" i servizi, ancora in beta, anche in Europa :). Anche il supporto nel nuovo portale di SQL Data Sync &amp;egrave; una importante novit&amp;agrave;: consente infatti di mantenere sincronizzati due o pi&amp;ugrave; SQL Database o SQL Server che possono trovarsi sia on-premises sia nel cloud, magari posizionati in datacenters differenti.&amp;nbsp;Finalmente si intravede nel nuovo portale, con capacit&amp;agrave; limitate alla sola creazione/cancellazione, l'Access Control Service anche se solo come link alla vecchia pagina di gestione. Tutti i dettagli li trovate nel &lt;a href="http://weblogs.asp.net/scottgu/archive/2012/12/21/great-updates-to-windows-azure-mobile-services-web-sites-sql-data-sync-acs-media-more.aspx"&gt;post di ScottGu&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Windows Azure Storage price-drop&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Tra gli annunci di questa settimana, vi &amp;egrave; anche un ulteriore &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/12/05/announcing-reduced-pricing-for-windows-azure-storage.aspx"&gt;price-drop per i servizi di Storage&lt;/a&gt;, con un abbassamento generale dei prezzi del 28% circa. Questi i nuovi prezzi per GB al mese, con le differenze tra storage ridondati geograficamente (diversi datacenter) e storage ridondati localmente (stesso datacenter):&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p&gt;
&lt;table cellpadding="0" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Capacit&amp;agrave; dello Storage&lt;/th&gt;&lt;th style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Geographically Redundant&lt;/th&gt;&lt;th style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Locally Redundant&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Primo 1 TB / Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".095" class="price-data"&gt;&amp;euro;0,0674&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".070" class="price-data"&gt;&amp;euro;0,0497&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Successivi 49 TB / Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".08" class="price-data"&gt;&amp;euro;0,0568&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".065" class="price-data"&gt;&amp;euro;0,0461&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Successivi&amp;nbsp;450 TB /&amp;nbsp;Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".07" class="price-data"&gt;&amp;euro;0,0497&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".06" class="price-data"&gt;&amp;euro;0,0426&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Successivi&amp;nbsp;500 TB /&amp;nbsp;Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".065" class="price-data"&gt;&amp;euro;0,0461&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".055" class="price-data"&gt;&amp;euro;0,0391&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Successivi&amp;nbsp;4,000 TB /&amp;nbsp;Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".06" class="price-data"&gt;&amp;euro;0,0426&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".045" class="price-data"&gt;&amp;euro;0,032&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Successivi&amp;nbsp;4.000 TB /&amp;nbsp;Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".055" class="price-data"&gt;&amp;euro;0,0391&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;span data-amount=".037" class="price-data"&gt;&amp;euro;0,0263&lt;/span&gt;&amp;nbsp;per GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;Oltre 9.000 TB /&amp;nbsp;Mese&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;a href="mailto:winazinqr@microsoft.com"&gt;contattare Microsoft&lt;/a&gt;&lt;/td&gt;
&lt;td style="border: 0;padding: 5px 15px;font-size: 12px;font-weight: normal;line-height: 20px;color: #434343;"&gt;&lt;a href="mailto:winazinqr@microsoft.com"&gt;contattare Microsoft&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Service Bus&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Recentemente sono anche stati modificati i limiti di utilizzo del Service Bus Relay. La documentazione ufficiale ad oggi non riporta i nuovi limiti, ma dovrebbe essere aggiornata a breve. Queste le novit&amp;agrave;:&lt;/p&gt;
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;Numero di endpoint massimi per namespace: 10.000 (equiparato al messaging)&lt;/li&gt;
&lt;li&gt;Numero di connessioni concorrenti per namespace: 5.000 (non c'&amp;egrave; un limite forzato per connessioni per endpoint)&lt;/li&gt;
&lt;li&gt;Numero di namespaces per sottoscrizione: 50&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Insomma, sono giornate piene di novit&amp;agrave;. C'&amp;egrave; da dire che da quando Scott Guthrie, oltre un anno &amp;egrave; mezzo fa, ha preso in mano Windows Azure, le novit&amp;agrave; non si sono fatte attendere e c'&amp;egrave; stata una grandissima sferzata a tutta la piattaforma, che oggi ha raggiunto dimensioni notevoli, con un elevato numero di servizi a supporto e pronti per essere utilizzati.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Bene, bene, si prospetta un 2013 davvero interessante... &amp;nbsp;&lt;img src="http://dotnetside.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/div&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22987" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure+Storage+Services/default.aspx">Azure Storage Services</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Service+Bus/default.aspx">Service Bus</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure+Prices/default.aspx">Azure Prices</category></item><item><title>Cannot get entity ‘{queue name}’ because it is not of type QueueDescription</title><link>http://dotnetside.org/blogs/fabio/archive/2012/11/11/cannot-get-entity-queue-name-because-it-is-not-of-type-queuedescription.aspx</link><pubDate>Sun, 11 Nov 2012 02:13:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22972</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22972</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/11/11/cannot-get-entity-queue-name-because-it-is-not-of-type-queuedescription.aspx#comments</comments><description>&lt;p&gt;Se nell'utilizzo delle code del Service Bus di Windows Azure vi dovesse capitare di incappare in questo messaggio di errore, verificate di non aver gi&amp;agrave; creato un Topic con quello stesso nome &lt;img src="http://dotnetside.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22972" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Service+Bus/default.aspx">Service Bus</category></item><item><title>Community Days 2012 @ Bari</title><link>http://dotnetside.org/blogs/fabio/archive/2012/05/01/community-days-2012-bari.aspx</link><pubDate>Tue, 01 May 2012 15:59:07 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22950</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22950</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/05/01/community-days-2012-bari.aspx#comments</comments><description>&lt;p&gt;&lt;img src="http://www.communitydays.it/GUI/header.jpg" width="528" height="337" /&gt;&lt;/p&gt;  &lt;p align="justify"&gt;La &lt;a href="http://www.communitydays.it/events/communitydaysbari-2012/" target="_blank"&gt;tappa di Bari dei Community Days&lt;/a&gt; è ormai alle porte, manca poco meno di una settimana a quello che sarà sicuramente un evento da ricordare. Due giorni con quattro track e diversi speaker e autori di libri riconosciuti a livello nazionale ed internazionale come non si era mai visto dalle “nostre parti” &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://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/fabio/wlEmoticon_2D00_smile_5F00_0E789509.png" /&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;L’&lt;a href="http://www.communitydays.it/events/communitydaysbari-2012/" target="_blank"&gt;agenda&lt;/a&gt; è bella ricca e densa di sessioni interessanti. Parleremo non solo di Windows Phone e di Azure, ma anche dell’imminente Windows 8 e di come cambierà il nostro approccio allo sviluppo di applicazioni. A completare il tutto ci saranno anche i lab in parallelo.&lt;/p&gt;  &lt;p align="justify"&gt;Se non vi siete ancora &lt;a href="http://www.communitydays.it/events/communitydaysbari-2012/" target="_blank"&gt;iscritti&lt;/a&gt;, fatelo perchè ne varrà senz’altro la pena.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.communitydays.it/GUI/logo.png" width="526" height="55" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22950" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/.netSide/default.aspx">.netSide</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Workshop/default.aspx">Workshop</category></item><item><title>Un premio alla trasparenza…</title><link>http://dotnetside.org/blogs/fabio/archive/2012/03/10/un-premio-alla-trasparenza.aspx</link><pubDate>Sat, 10 Mar 2012 08:48:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22947</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22947</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/03/10/un-premio-alla-trasparenza.aspx#comments</comments><description>&lt;p&gt;…di Bill Laing e del team di Windows Azure. In &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/03/09/summary-of-windows-azure-service-disruption-on-feb-29th-2012.aspx" target="_blank"&gt;questo post&lt;/a&gt; viene riportato un dettagliato report di quanto è successo, con spiegazioni tecniche del perchè è successo e di quelli che sono stati i passaggi fatti per risolvere il problema (anche gli errori).&lt;/p&gt;  &lt;p&gt;Ad ogni modo, questa frase descrive la natura del bug:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The leap day bug is that the GA calculated the valid-to date by simply taking the current date and adding one to its year.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Chiaramente il 2013 non è bisestile e il 29 febbraio non esiste…&lt;/p&gt;  &lt;p&gt;Il post si conclude con “abbiamo imparato la lezione, ora miglioriamo il servizio così…”. Davvero interessante anche dal punto di vista tecnico ed operativo.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22947" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Ancora un Price Drop per Windows Azure Storage e la Extra-Small Instance</title><link>http://dotnetside.org/blogs/fabio/archive/2012/03/09/ancora-un-price-drop-per-windows-azure-storage-e-la-extra-small-instance.aspx</link><pubDate>Fri, 09 Mar 2012 06:13:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22945</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22945</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/03/09/ancora-un-price-drop-per-windows-azure-storage-e-la-extra-small-instance.aspx#comments</comments><description>&lt;p&gt;Dopo i tagli ai prezzi dello Storage dello scorso ottobre, passati da $ 0,15/GB a $ 0,14/GB, e la &lt;a href="http://dotnetside.org/blogs/fabio/archive/2012/02/16/nuovi-prezzi-di-sql-azure.aspx" target="_blank"&gt;recente rivisitazione della politica dei prezzi di SQL Azure&lt;/a&gt;, da ieri 8 Marzo sono stati annunciati, e subito attuati, tagli per circa il 12%.&lt;/p&gt;  &lt;p&gt;Si passa quindi da &lt;strong&gt;$ 0,14/GB&lt;/strong&gt; a &lt;strong&gt;$ 0,125/GB&lt;/strong&gt; che in euro è &lt;strong&gt;€ &lt;/strong&gt;&lt;strong&gt;0,0887/GB&lt;/strong&gt;, con un risparmio quindi importante. In realtà la revisione è ben più articolata e, seguendo uno schema simile a quello di SQL Azure, è inversamente proporzionale rispetto alla quantità di dati utilizzata.&lt;/p&gt;  &lt;table style="line-height: 21px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; letter-spacing: normal; font-family: ; white-space: normal; orphans: 2; margin-bottom: 14px; color: ; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;Impegno spazio di archiviazione&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;Prezzo&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;strong&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;Tariffa standard scontata&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;1 - 50 TB / mese&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;€ 0,0781 / GB&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;10,7%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;51 - 500 TB / mese&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;€ 0,0681 / GB&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;20%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;501 - 1.000 TB / mese&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;€ 0,066 / GB&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;26.4%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;1.001 TB - 5 PB / mese&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;€ 0,0589 / GB&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;29,3%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#000000"&gt;Maggiore di 5 PB / mese&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt"&gt;&lt;font style="text-decoration: none" color="#000000"&gt;&lt;a title="[GMCP] Compose a new mail to Richiedere ulteriori informazioni" href="mailto:winazinqr@microsoft.com"&gt;Richiedere ulteriori informazioni&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;p style="margin: 0px 0px 14px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt"&gt;&lt;font style="text-decoration: none" color="#000000"&gt;&lt;a title="[GMCP] Compose a new mail to Richiedere ulteriori informazioni" href="mailto:winazinqr@microsoft.com"&gt;Richiedere ulteriori informazioni&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Ma non basta. Un altro taglio del 50% riguarda la Extra-Small Instance che passa ora a &lt;strong&gt;€ 0,0142&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;A &lt;a href="https://www.windowsazure.com/it-it/pricing/details/" target="_blank"&gt;questa pagina&lt;/a&gt; trovate tutti i prezzi in euro aggiornati.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22945" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure+Storage+Services/default.aspx">Azure Storage Services</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure+Prices/default.aspx">Azure Prices</category></item><item><title>Service Bus Explorer</title><link>http://dotnetside.org/blogs/fabio/archive/2012/03/08/service-bus-explorer.aspx</link><pubDate>Thu, 08 Mar 2012 21:26:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22944</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22944</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/03/08/service-bus-explorer.aspx#comments</comments><description>&lt;p&gt;"Rimbalzo" &lt;a href="http://ninocrudele.ugics.org/new-service-bus-explorer-released/"&gt;la notizia&lt;/a&gt; dal blog di &lt;a href="http://ninocrudele.ugics.org/"&gt;Nino Crudele&lt;/a&gt; che segnala l'uscita della nuova release del&lt;a href="http://code.msdn.microsoft.com/windowsazure/Service-Bus-Explorer-f2abca5a"&gt; Service Bus Explorer&lt;/a&gt;, il tool scritto da Paolo Salvatori che permette di gestire e testare il proprio Service Namespace.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A &lt;a href="http://msdn.microsoft.com/en-us/library/hh532261(v=VS.103).aspx"&gt;questo link&lt;/a&gt; potete trovare l'articolo completo che ne spiega ampiamente le funzionalit&amp;agrave;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22944" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure+AppFabric/default.aspx">Windows Azure AppFabric</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Service+Bus/default.aspx">Service Bus</category></item><item><title>Dalle WCF Web API alle ASP.NET Web API</title><link>http://dotnetside.org/blogs/fabio/archive/2012/02/18/dalle-wcf-web-api-alle-asp-net-web-api.aspx</link><pubDate>Sat, 18 Feb 2012 17:39:09 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22942</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22942</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/02/18/dalle-wcf-web-api-alle-asp-net-web-api.aspx#comments</comments><description>&lt;p align="justify"&gt;Seguo da un po’ di tempo le evoluzioni delle WCF Web API, un framework che si poggia sull’infrastruttura di WCF per renderla meno ostica e facilmente estendibile, ma soprattutto adatta all’utilizzo di REST.&lt;/p&gt;  &lt;p align="justify"&gt;Quando sembrava che le WCF Web API sarebbero finalmente confluite all’interno di WCF 4.5, c’è stato un cambio di rotta: ASP.NET Web API. Le Web API, infatti, si sono sempre trovate in mezzo a due mondi: quello dei servizi (WCF) e quello web (ASP.NET). Il motivo per cui è stato infine scelto di far confluire il tutto in ASP.NET è riassunto nelle parole del comunicato comparso sul sito &lt;a href="http://wcf.codeplex.com/discussions/319671" target="_blank"&gt;WCF di codeplex&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;&lt;em&gt;Web APIs have a foot in two worlds: the world of service orientation and the World Wide Web. We decided to align ASP.NET Web API with the rest of the Microsoft web platform, so we went with the brand that communicates this alignment. From a technical perspective we also decided to go with a new HTTP specific dispatcher instead of trying to carry forward the WCF dispatcher, so there is virtually no WCF code in the new stack.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Dal mio punto di vista, devo dire che non mi sembra la scelta migliore. Legare il concetto di Web API ad ASP.NET non mi sembra la strada corretta. Che significa? Che devo necessariamente utilizzare IIS? No, in realtà no, perchè posso utilizzare, in quel caso, il canale HTTP di WCF. Questo sembra generare già da ora confusione e i primi discorsi con qualche collega non fanno altro che confermarlo.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strike&gt;WCF&lt;/strike&gt; ASP.NET Web API, al di là di queste discussioni, sembra promettere diverse cose interessanti e nei prossimi giorni tornerò sicuramente su questo argomento.&lt;/p&gt;  &lt;p align="justify"&gt;Maggiori info le potete trovare &lt;a href="http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/16/introducing-asp-net-mvc-4-beta-with-web-apis.aspx" target="_blank"&gt;qui&lt;/a&gt; e ovviamente anche &lt;a href="http://wcf.codeplex.com/documentation" target="_blank"&gt;qui&lt;/a&gt;. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22942" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/WCF/default.aspx">WCF</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/REST/default.aspx">REST</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Web+API/default.aspx">Web API</category></item><item><title>Nuovi prezzi di SQL Azure</title><link>http://dotnetside.org/blogs/fabio/archive/2012/02/16/nuovi-prezzi-di-sql-azure.aspx</link><pubDate>Thu, 16 Feb 2012 06:47:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22939</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22939</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/02/16/nuovi-prezzi-di-sql-azure.aspx#comments</comments><description>&lt;p&gt;Qualche giorno fa &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2012/02/14/announcing-reduced-pricing-on-sql-azure-and-new-100mb-database-option.aspx" target="_blank"&gt;è stata annunciato&lt;/a&gt; un nuovo taglio ai prezzi di SQL Azure. Questa la tabella di confronto:    &lt;br class="Apple-interchange-newline" /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;table style="text-align: left; line-height: 21px; widows: 2; text-transform: none; background-color: rgb(224,224,224); text-indent: 0px; letter-spacing: normal; font-family: ; white-space: normal; orphans: 2; height: 295px; color: ; margin-left: 1px; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" border="1" cellspacing="2" cellpadding="2" width="518"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;b&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;GB&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;b&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;Previous Pricing&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;b&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;New Pricing&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;b&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;New Price/GB&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;b&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;Total % Decrease&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;5&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€35,40&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€18,43&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€3,686&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;48%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;10&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€70,84&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€32,66&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€3,266&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;54%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;25&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€162,94&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€53,85&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€2,154&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;75%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;50&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€318,80*&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€89,27&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€1,785&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;75%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;100&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€318,80&lt;/font&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;*&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€124,70&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€1,247&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;65%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td width="20"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;150&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="63"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€318,80&lt;/font&gt;&lt;/font&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;*&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="64"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€160,12&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="59"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;€1,067&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td width="55"&gt;           &lt;p style="margin-top: 0px"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#333333"&gt;55%&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;Oltre ai tagli, è stata annunciato anche un nuovo database size “entry-level” di 100MB, con un costo fisso di &lt;strong&gt;3,5425&lt;/strong&gt; euro al mese. Occhio, però, che il sistema di calcolo non è proprio rigido. Se il nostro DB occupa mediamente 3GB al mese, pagheremo la cifra parziale di &lt;strong&gt;12,753&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Il tutto è ben spiegato nella &lt;a href="https://www.windowsazure.com/it-it/pricing/details/#database" target="_blank"&gt;relativa sezione in questa pagina&lt;/a&gt; e che riporto per comodità e completezza:&lt;/p&gt;  &lt;blockquote&gt;   &lt;h4&gt;&lt;em&gt;Database, in base alle dimensioni del database:&lt;/em&gt;&lt;/h4&gt;    &lt;h5&gt;&lt;em&gt;Prezzo&lt;/em&gt;&lt;/h5&gt;    &lt;p&gt;&lt;em&gt;Il database di SQL Azure è fatturato in base a una tariffa progressiva basata sulle dimensioni del database. È disponibile in due edizioni: Web e Business. Il database Web Edition supporta fino a un massimo di 5 GB di database relazionale basato su T-SQL. Il database Business Edition supporta fino a una dimensione massima pari a 150 GB di database relazionale basato su T-SQL.&lt;/em&gt;&lt;/p&gt;    &lt;br class="Apple-interchange-newline" /&gt;    &lt;table style="line-height: 21px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; letter-spacing: normal; font-family: ; white-space: normal; orphans: 2; margin-bottom: 14px; color: ; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="tbl-standard"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;th style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Dimensioni del database&lt;/font&gt;&lt;/font&gt;&lt;/th&gt;          &lt;th style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Prezzo per database al mese&lt;/font&gt;&lt;/font&gt;&lt;/th&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;da 0 a 100 MB&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;          &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Fisso € 3,5425&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Maggiore di 100 MB fino a 1 GB&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;          &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Fisso € 7,085&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Maggiore di 1 GB fino a 10 GB&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;          &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;€ 7,085 per il primo GB, € 2,834 per ogni GB aggiuntivo&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Maggiore di 10 GB fino a 50 GB&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;          &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;€ 32,5906 per i primi 10 GB, € 1,417 per ogni GB aggiuntivo&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;Maggiore di 50 GB fino a 150 GB&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;          &lt;td style="padding-right: 20px" align="left"&gt;&lt;font face="Segoe UI"&gt;&lt;font style="font-size: 10.5pt" color="#666666"&gt;€ 89,2699 per i primi 50 GB, € 0,7085 per ogni GB aggiuntivo&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;h5&gt;&lt;em&gt;Dettagli fatturazione&lt;/em&gt;&lt;/h5&gt;    &lt;p&gt;&lt;em&gt;Per l'utilizzo di ogni database SQL Azure viene addebitata una tariffa mensile, la quale viene tuttavia ammortizzata sul mese e calcolata su base giornaliera. Per database maggiori di un 1 GB, i costi verranno addebitati nel successivo incremento da un gigabyte. Se ad esempio sono stati utilizzati due database Business Edition, uno da 4,4 GB e uno da 14,4 GB per 1 giorno in un mese di fatturazione, si verrà addebitati per 5 GB e 15 GB di database per tale giorno per un totale di € 1,8745. Di seguito sono riportati i calcoli:&lt;/em&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;em&gt;5 GB: (€ 7,085 per il primo GB + € 2,834 per GB per i 4 GB successivi) / 31 giorni = € 0,5944 &lt;/em&gt;&lt;/li&gt;      &lt;li&gt;&lt;em&gt;15 GB: (€ 32,5906 per i primi 10 GB + € 1,417 per GB per i 5 GB successivi) / 31 giorni = € 1,2802&lt;/em&gt;&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Per maggiori informazioni sui prezzi di Windows Azure:   &lt;br /&gt;&lt;a href="https://www.windowsazure.com/it-it/pricing/details/#top" target="_blank"&gt;https://www.windowsazure.com/it-it/pricing/details/#top&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22939" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/SQL+Azure/default.aspx">SQL Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Utilizzare il Windows Azure Content Delivery Network</title><link>http://dotnetside.org/blogs/fabio/archive/2012/02/10/utilizzare-il-windows-azure-content-delivery-network.aspx</link><pubDate>Fri, 10 Feb 2012 06:18:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22938</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22938</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/02/10/utilizzare-il-windows-azure-content-delivery-network.aspx#comments</comments><description>&lt;p align="justify"&gt;Windows Azure CDN è un sistema che consente di spostare i contenuti dei blobs in un nodo di “caching” geograficamente localizzato in prossimità dell’utente che consuma quell’informazione. In sostanza invece di accedere al datacenter in cui si trova il dato, ad esempio un’immagine, la richiesta viene servita da un altro datacenter.&lt;/p&gt;  &lt;p align="justify"&gt;Sono due i vantaggi che derivano da questo utilizzo:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Miglioramento delle performance perchè il dato è geograficamente più vicino;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Miglioramento della scalabilità, dato che il carico di richieste non grava più su un unico datacenter, ma viene distribuito sui diversi nodi della rete;&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p align="justify"&gt;I nodi del CDN sono circa 24 sparsi nel mondo, mentre i datacenter di Azure sono 6. Dal punto di vista dei costi, sono identici a quelli degli Storage Services, il che non cambia nulla in termini di “spesa” mensile.&lt;/p&gt;  &lt;p align="justify"&gt;Ma come possiamo utilizzare il CDN? Dopo averlo &lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2009/11/05/introducing-the-windows-azure-content-delivery-network.aspx" target="_blank"&gt;attivato&lt;/a&gt;, se abbiamo scritto bene il codice per recuperare la stringa di connessione per l’accesso ai Blob Services, utilizzando questa sintassi:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; CloudStorageAccount account;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; account = CloudStorageAccount.FromConfigurationSetting(&lt;span style="color: #006080"&gt;&amp;quot;StorageConnection&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; var client = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; CloudBlobClient(account.BlobEndpoint, account.Credentials);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p align="justify"&gt;praticamente non dobbiamo far altro che modificare la stringa di connessione, anche con la nostra applicazione in produzione, aggiungendo il BlobEndpoint (&lt;strong&gt;BlobEndpoint=http://cdn.mycustomdomain.it&lt;/strong&gt;) che abbiamo assegnato al CDN:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;encoding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;utf-16&amp;quot;&lt;/span&gt;?&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ServiceConfiguration&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:xsi&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:xsd&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;serviceName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;osFamily&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;2&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;osVersion&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;*&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Role&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;MyCloudApp&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ConfigurationSettings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Setting&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;Storage&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;DefaultEndpointsProtocol=http;AccountName=myaccount;AccountKey=ah7ym..z5u==;BlobEndpoint=http://cdn.mycustomdomain.it&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ConfigurationSettings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #008000"&gt;&amp;lt;!-- other settings --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Role&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ServiceConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p align="justify"&gt;Giusto il tempo di aggiornare gli le istanze ed il gioco è fatto &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://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/fabio/wlEmoticon_2D00_smile_5F00_37B6EE64.png" /&gt;&lt;/p&gt;

&lt;p align="justify"&gt;Per approfondimenti: &lt;a href="https://www.windowsazure.com/en-us/home/tour/cdn/"&gt;https://www.windowsazure.com/en-us/home/tour/cdn/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22938" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure+CDN/default.aspx">Windows Azure CDN</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure+Storage+Services/default.aspx">Windows Azure Storage Services</category></item><item><title>Windows Azure SDK e Compute Emulator: gestione degli indirizzi locali</title><link>http://dotnetside.org/blogs/fabio/archive/2012/02/09/windows-azure-sdk-e-compute-emulator-gestione-degli-indirizzi-locali.aspx</link><pubDate>Thu, 09 Feb 2012 17:48:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22937</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22937</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2012/02/09/windows-azure-sdk-e-compute-emulator-gestione-degli-indirizzi-locali.aspx#comments</comments><description>&lt;p align="justify"&gt;Stimolato da un &lt;a href="http://bit.ly/A5pSo9" target="_blank"&gt;tweet&lt;/a&gt; di oggi del buon &lt;a href="http://letsfollowtheyellowbrickroad.blogspot.com/" target="_blank"&gt;Giorgio&lt;/a&gt;, ho riesumato questo vecchio post che avevo in coda da un po’ di tempo.&lt;/p&gt;  &lt;p align="justify"&gt;Fino alla versione 1.4, il Compute Emulator, l’ambiente di simulazione locale dell’infrastruttura di Windows Azure, non aveva la gestione del Load Balancer e ogni istanza veniva allocata con lo stesso indirizzo IP (127.0.0.1) ma con porte differenti ed incrementali: 81, 82, 83, e così via…&lt;/p&gt;  &lt;p align="justify"&gt;Dalla versione 1.5, invece, al fine di replicare quanto più possibile l’ambiente di produzione cloud, al Load Balancer viene assegnato, se non diversamente configurato, l’IP 127.0.0.1 con la porta 81 (incrementale se già occupata), mentre ai vari nodi l’indirizzo assegnato sarà diverso, tipicamente l’IP 127.255.0.0, con la porta 82 che questa volta sarà sempre la stessa. Quattro istanze, ad esempio, saranno così suddivise:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="401"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="139"&gt;&amp;nbsp;&lt;/td&gt;        &lt;td valign="top" width="142"&gt;&lt;strong&gt;Indirizzo&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="118"&gt;&lt;strong&gt;Porta&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="139"&gt;Load Balancer&lt;/td&gt;        &lt;td valign="top" width="142"&gt;127.0.0.1&lt;/td&gt;        &lt;td valign="top" width="118"&gt;81&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="139"&gt;Nodo 1&lt;/td&gt;        &lt;td valign="top" width="142"&gt;127.255.0.0&lt;/td&gt;        &lt;td valign="top" width="118"&gt;82&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="139"&gt;Nodo 2&lt;/td&gt;        &lt;td valign="top" width="142"&gt;127.255.0.1&lt;/td&gt;        &lt;td valign="top" width="118"&gt;82&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="139"&gt;Nodo 3&lt;/td&gt;        &lt;td valign="top" width="142"&gt;127.255.0.3&lt;/td&gt;        &lt;td valign="top" width="118"&gt;82&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="139"&gt;Nodo 4&lt;/td&gt;        &lt;td valign="top" width="153"&gt;127.255.0.4&lt;/td&gt;        &lt;td valign="top" width="149"&gt;82&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;Questa nuova modalità genera però alcune problematiche negli applicativi che recuperano l’indirizzo IP utilizzando l’HttpRequest e le proprietà come SERVER_PORT o LOCAL_ADDR. In questo caso, ovviamente, la porta e l’indirizzo sono quelle del nodo su cui l’applicativo è in esecuzione.&lt;/p&gt;  &lt;p align="justify"&gt;Per ovviare al problema è sufficiente recuperare utilizzare le proprietà host e port di Request.Uri per accedere ai relativi headers contenuti nella richiesta HTTP, che conterranno i valori corretti del load balancer proprio perchè è lì che viene inviata la richiesta:&lt;/p&gt;    &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; HttpRequest request = HttpContext.Current.Request;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var builder = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UriBuilder(request.Url.Scheme, request.Url.Host, request.Url.Port);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Infine per comodità utilizzo un UriBuilder.&lt;/p&gt;

&lt;p&gt;Fabio&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22937" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category></item><item><title>…a proposito dei prezzi di Windows Azure</title><link>http://dotnetside.org/blogs/fabio/archive/2011/12/15/a-proposito-dei-prezzi-di-windows-azure.aspx</link><pubDate>Thu, 15 Dec 2011 09:25:15 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22934</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22934</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2011/12/15/a-proposito-dei-prezzi-di-windows-azure.aspx#comments</comments><description>&lt;p&gt;Non è molto pubblicizzato, ma leggere che l’Access Control Service è in promozione &lt;a href="http://www.windowsazure.com/en-us/pricing/details/#access-control"&gt;a costo zero fino al 30 Novembre 2012&lt;/a&gt; (un anno!) è davvero una grande notizia. Dal primo dicembre il prezzo sarà di circa 1,44 € per 100.000 transazioni, quindi non una cifra esorbitante &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://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/fabio/wlEmoticon_2D00_smile_5F00_72C9C672.png" /&gt;.&lt;/p&gt;  &lt;p&gt;Per chi non lo sa, l’Access Control Service è un servizio che permette di realizzare meccanismi di autorizzazione e di Single Sign-On in maniera molto semplice, immediata e facilmente integrabile in applicazioni claim-based.&lt;/p&gt;  &lt;p&gt;Maggiori info &lt;a href="http://www.windowsazure.com/en-us/home/tour/access-control/"&gt;qui&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22934" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure+AppFabric/default.aspx">Windows Azure AppFabric</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/ACS/default.aspx">ACS</category></item><item><title>Windows Azure: importanti novità</title><link>http://dotnetside.org/blogs/fabio/archive/2011/12/13/windows-azure-importanti-novit-224.aspx</link><pubDate>Tue, 13 Dec 2011 09:57:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22933</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22933</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2011/12/13/windows-azure-importanti-novit-224.aspx#comments</comments><description>&lt;p&gt;Sono giorni di fermento per la piattaforma Windows Azure.&amp;nbsp;Sono infatti state rilasciate ieri importanti novit&amp;agrave;. Finalmente qualcosa si muove sul fronte "limiti di utilizzo". E' stato infatti introdotto lo &lt;b&gt;Spending Cap&lt;/b&gt;, un limite che&amp;nbsp;&lt;span&gt;permette, a chi sottoscrive un abbonamento trial o attiva il benefit all&amp;rsquo;interno di MSDN, di definire un tetto di spesa massimo. Se impostato a zero, valore di default, il servizio verr&amp;agrave; immediatamente "spento" al suo raggiungimento. Chiaramente si tratta di una feature utile a chi vuole provare Windows Azure senza rischiare di trovarsi addebitate spese che possiamo definire... "non previste" :).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Le novit&amp;agrave; riguardano anche una maggiore integrazione con l'OSS, tramite il rilascio di nuovi SDK per Java e Node.js, nonch&amp;egrave; il supporto per Hadoop, Memcached, Solr/Lucene e MongoDB.&lt;/p&gt;
&lt;p&gt;Non entro nel dettaglio di ogni singola feature, &lt;a href="http://blogs.msdn.com/b/fabiosantini/archive/2011/12/13/windows-azure-appena-rilasciate-importanti-novit-224-sulla-piattaforma.aspx"&gt;Fabio ha gi&amp;agrave; scritto un post ben dettagliato&lt;/a&gt;, ma ancora una volta si conferma come la piattaforma Windows Azure sia davvero in continuo movimento ed in perenne evoluzione. Il suo largo utilizzo consente di abbatterne i costi. Come gi&amp;agrave; avvenuto per lo storage qualche mese fa, ora anche SQL Azure beneficia di un ulteriore abbassamento del pricing.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/windowsazure/archive/2011/12/12/improved-developer-experience-interoperability-and-scalability-on-windows-azure.aspx"&gt;Questo il post ufficiale&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22933" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure/default.aspx">Azure</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure+AppFabric/default.aspx">Windows Azure AppFabric</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Azure+Storage+Services/default.aspx">Azure Storage Services</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Workshop: Future Development Day</title><link>http://dotnetside.org/blogs/fabio/archive/2011/09/30/workshop-future-development-day.aspx</link><pubDate>Fri, 30 Sep 2011 12:52:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22921</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnetside.org/blogs/fabio/rsscomments.aspx?PostID=22921</wfw:commentRss><comments>http://dotnetside.org/blogs/fabio/archive/2011/09/30/workshop-future-development-day.aspx#comments</comments><description>&lt;p&gt;Riprendiamo gli appuntamenti DotNetSide con un workshop tutto dedicato alle novit&amp;agrave; su &lt;strong&gt;HTML5&lt;/strong&gt;, &lt;strong&gt;Kinect SDK&lt;/strong&gt; e soprattutto &lt;strong&gt;Windows 8&lt;/strong&gt;.&lt;/p&gt;
&lt;p style="padding-left: 30px; "&gt;&lt;a href="http://dotnetside.org/content/FutureDevelopmentDay.aspx"&gt;http://dotnetside.org/content/FutureDevelopmentDay.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vi consiglio di non mancare perch&amp;egrave; ne vedremo davvero delle belle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ci vediamo il 14 ottobre al Rond&amp;ograve; Hotel.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22921" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Workshop/default.aspx">Workshop</category></item></channel></rss>