<?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/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>DotNetSide</title><link>http://dotnetside.org/blogs/</link><description>Dot Net South Italy Developers User Group</description><dc:language>en-US</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Connected Open Web in .NET: ServiceStack: the OpenSource way demo</title><link>http://dotnetside.org/blogs/leo/archive/2013/06/10/connected-open-web-in-net-servicestack-the-opensource-way-demo.aspx</link><pubDate>Mon, 10 Jun 2013 11:26:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:23008</guid><dc:creator>leo.alario</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a title="https://skydrive.live.com/redir?resid=2D0742D8F39D96E3!1010&amp;amp;authkey=!APkoCPgMLi_wb_E" href="https://skydrive.live.com/redir?resid=2D0742D8F39D96E3!1010&amp;amp;authkey=!APkoCPgMLi_wb_E" target="_blank"&gt;A questo indirizzo&lt;/a&gt; potete scaricare la demo presentata durante il mio intervento all&amp;rsquo;interno della sessione su &lt;a href="http://dotnetside.org/content/ConnectedOpenWebInNET.aspx" target="_blank"&gt;ServiceStack&lt;/a&gt; con &lt;a href="http://dotnetside.org/blogs/fabio/default.aspx" target="_blank"&gt;Fabio Cozzolino&lt;/a&gt; . &lt;/p&gt;
&lt;p&gt;La demo contiene diversi scenari di utilizzo del framework &lt;a href="http://servicestack.net/" target="_blank"&gt;ServiceStack&lt;/a&gt;: dallo sviluppo del servizio, passando dall&amp;rsquo; hosting, fino ad arrivare a come lo stesso pu&amp;ograve; essere consumato. &lt;/p&gt;
&lt;p&gt;Per qualsiasi dubbio e/o chiarimento non esitate a contattarmi.&lt;/p&gt;
&lt;p&gt;Enjoy &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Sorriso" src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/leo/wlEmoticon_2D00_smile_5F00_3117BC89.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=23008" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/leo/archive/tags/Community/default.aspx">Community</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Dotnetside/default.aspx">Dotnetside</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/.netSide/default.aspx">.netSide</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/ServiceStack/default.aspx">ServiceStack</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/WCF/default.aspx">WCF</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>WCF Self-hosting</title><link>http://dotnetside.org/blogs/fabio/archive/2013/06/07/wcf-self-hosting.aspx</link><pubDate>Fri, 07 Jun 2013 08:30:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22998</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ieri, durante l’evento Connected Open Web, ho mostrato la possibilità di fare self-hosting con WCF. Per chi me lo ha poi chiesto, riporto qui il codice completo:&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: 500px; 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;class&lt;/span&gt; Program&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;/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;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] args)&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;/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;         var host = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ServiceHost(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(MyService), &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;&amp;quot;http://localhost:10101/dotnetside&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: #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;         host.Description.Behaviors.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ServiceMetadataBehavior() { HttpGetEnabled = &lt;span style="color: #0000ff"&gt;true&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;         host.AddServiceEndpoint(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt; (MyService), &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; BasicHttpBinding(), &lt;span style="color: #006080"&gt;&amp;quot;&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: #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;         host.AddServiceEndpoint(ServiceMetadataBehavior.MexContractName, MetadataExchangeBindings.CreateMexHttpBinding(), &lt;span style="color: #006080"&gt;&amp;quot;mex&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="lnum9"&gt;   9:&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="lnum10"&gt;  10:&lt;/span&gt;         host.Open();&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="lnum11"&gt;  11:&lt;/span&gt;&amp;#160; &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="lnum12"&gt;  12:&lt;/span&gt;         Console.ReadLine();&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="lnum13"&gt;  13:&lt;/span&gt;&amp;#160; &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="lnum14"&gt;  14:&lt;/span&gt;         host.Close();&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="lnum15"&gt;  15:&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="lnum16"&gt;  16:&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="lnum17"&gt;  17:&lt;/span&gt;&amp;#160; &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="lnum18"&gt;  18:&lt;/span&gt; [ServiceContract]&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="lnum19"&gt;  19:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyService&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="lnum20"&gt;  20:&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="lnum21"&gt;  21:&lt;/span&gt;     [OperationContract]&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="lnum22"&gt;  22:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Get(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; name)&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="lnum23"&gt;  23:&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="lnum24"&gt;  24:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;Hi, &amp;quot;&lt;/span&gt; + name;&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="lnum25"&gt;  25:&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="lnum26"&gt;  26:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Questo è il risultato dal WcfTestClient:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/fabio/image_5F00_02D15231.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="image" border="0" alt="image" src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/fabio/image_5F00_thumb_5F00_323FC0FD.png" width="536" height="341" /&gt;&lt;/a&gt;&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=22998" 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><category domain="http://dotnetside.org/blogs/fabio/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Microsoft Integration platform: slides</title><link>http://dotnetside.org/blogs/fabio/archive/2013/06/07/microsoft-integration-platform-slides.aspx</link><pubDate>Thu, 06 Jun 2013 21:00:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22999</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Le slides della mia sessione sulla piattaforma Microsoft per l'integrazione:&lt;/p&gt;
&lt;p&gt;
&lt;iframe src="http://www.slideshare.net/slideshow/embed_code/22601804" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px"&gt; &lt;/iframe&gt; &lt;/p&gt;
&lt;div style="margin-bottom:5px"&gt; &lt;strong&gt; &lt;a href="http://www.slideshare.net/Fabio.Cozzolino/microsoft-integration-platform" title="Microsoft Integration Platform" target="_blank"&gt;Microsoft Integration Platform&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href="http://www.slideshare.net/Fabio.Cozzolino" target="_blank"&gt;Fabio.Cozzolino&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22999" 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/Web+API/default.aspx">Web API</category><category domain="http://dotnetside.org/blogs/fabio/archive/tags/Service+Bus/default.aspx">Service Bus</category></item><item><title>Eventi in arrivo...</title><link>http://dotnetside.org/blogs/fabio/archive/2013/06/01/eventi-in-arrivo.aspx</link><pubDate>Sat, 01 Jun 2013 09:16:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22997</guid><dc:creator>Fabio.Cozzolino</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Siamo a giugno! Da calendario l'estate dovrebbe essere alle porte, ma quest'anno, come una bella donna, si sta facendo attendere. Ad ogni modo, noi di DotNetSide andiamo avanti. Gioved&amp;igrave; prossimo nuovo evento in cui si parla di architetture distribuite, servizi, SOAP, REST, WCF, BizTalk, WebAPI, ServiceStack, SignalR, e ovviamente tutto quello che ci volete mettere voi &lt;img src="http://dotnetside.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;. L'evento &amp;egrave;, come al solito, gratuito.&lt;/p&gt;
&lt;p&gt;Non mancher&amp;agrave; qualche benefit per i partecipanti &lt;img src="http://dotnetside.org/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/p&gt;
&lt;p&gt;Vi consiglio assolutamente di non mancare!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22997" 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><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>1</slash: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><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>Writing apps for Android with .NET: slide e demo</title><link>http://dotnetside.org/blogs/leo/archive/2013/02/12/writing-apps-for-android-with-net-slide-e-demo.aspx</link><pubDate>Tue, 12 Feb 2013 00:09:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22988</guid><dc:creator>leo.alario</dc:creator><slash:comments>0</slash:comments><description>&lt;div style="margin-bottom: 5px"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="margin-bottom: 5px"&gt;Come promesso sono online le demo e le slide presentate durante la mia sessione su MonoDroid. &lt;/div&gt;
&lt;div style="margin-bottom: 5px"&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 5px"&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;iframe allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" scrolling="no" marginwidth="0" width="427" frameborder="0" src="http://www.slideshare.net/slideshow/embed_code/16442797" marginheight="0" height="356" style="border-bottom: #ccc 0px solid; border-left: #ccc 1px solid; margin-bottom: 5px; border-top: #ccc 1px solid; border-right: #ccc 1px solid"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;div style="margin-bottom: 5px"&gt;&lt;strong&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.slideshare.net/leonardoalario/writing-apps-for-android-with-net" title="Writing apps for android with .net "&gt;Writing apps for android with .net &lt;/a&gt;&lt;/strong&gt;from &lt;strong&gt;&lt;a target="_blank" href="http://www.slideshare.net/leonardoalario"&gt;Leonardo Alario&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;div style="margin-bottom: 5px"&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="margin-bottom: 5px"&gt;Le demo in questione contemplano 3 scenari di utilizzo di MonoDroid:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div style="margin-bottom: 5px"&gt;Connessione diretta con il database di esempio &lt;a target="_blank" href="http://northwinddatabase.codeplex.com/releases/view/71634"&gt;SQL Server Northwind&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-bottom: 5px"&gt;Connessione ad un servizio WCF basato sullo stesso database. &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-bottom: 5px"&gt;Connessione al servizio &lt;a target="_blank" href="http://services.odata.org/Northwind/Northwind.svc/"&gt;OData demo service Northwind&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin-bottom: 5px"&gt;Per eseguire le demo &amp;egrave; necessario effettuare alcune configurazioni preliminari:&lt;/div&gt;
&lt;div style="margin-bottom: 5px"&gt;&amp;nbsp;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div style="margin-bottom: 5px"&gt;Per&amp;nbsp; l&amp;rsquo;esempio SQL Server dopo aver aver lanciato lo script di creazione del db o aver importato il backup dello stesso, sar&amp;agrave; necessario abilitare la modalit&amp;agrave; di autenticazione &lt;em&gt;mista&lt;/em&gt; di SQL Server (&lt;em&gt;autenticazione&lt;/em&gt; di Windows e &lt;em&gt;autenticazione&lt;/em&gt; di &lt;em&gt;SQL Server&lt;/em&gt;); quindi aggiungere un utente, al database in questione, con relativi privilegi di accesso. &lt;br /&gt;Fatto questo bisogner&amp;agrave; configurare opportunamente la stringa di connessione nella classe &lt;strong&gt;&lt;span style="color: #0000ff;"&gt;SqlHelper.&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div style="margin-bottom: 5px"&gt;Per l&amp;rsquo;esempio WCF dopo aver aver lanciato lo script di creazione del db o aver importato il backup dello stesso, se non lo si &amp;egrave; fatto in precedenza, bisogner&amp;agrave; installare&amp;nbsp; &lt;em&gt;&lt;a target="_blank" href="http://www.google.it/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CDIQFjAA&amp;amp;url=http%3A%2F%2Fwww.microsoft.com%2Fit-it%2Fdownload%2Fdetails.aspx%3Fid%3D1038&amp;amp;ei=Bk0ZUfqMJ8eLtAaks4HgAg&amp;amp;usg=AFQjCNH1mrhwk9aqMYRwPmGHiDqgc5o7IQ&amp;amp;bvm=bv.42080656,d.Yms"&gt;IIS Express&lt;/a&gt;, quindi configurare il servizio WCF&amp;nbsp; a utilizzare IIS Express come development&amp;nbsp; server. Subito dopo modificare il file applicationhost.config generalmente ubicato in C:\Users\..\Documents\IISExpress e configurare il servizio come nell&amp;rsquo;esempio seguente: &lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;
&lt;p&gt;&amp;lt;site name="EmployeesService" id="6"&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;application path="/" applicationPool="Clr4IntegratedAppPool"&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;virtualDirectory path="/" physicalPath="&lt;span style="background-color: #ffff00;"&gt;C:\Users\lalario\Dropbox\Android\NorthWind02\EmployeesService&lt;/span&gt;" /&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/application&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bindings&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;binding protocol="http" bindingInformation="&lt;span style="background-color: #ffff00;"&gt;*:1063:&lt;/span&gt;" /&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/bindings&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/site&amp;gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;dove dovrete sostituire il percorso in giallo con il vostro.&amp;nbsp; Questo consentir&amp;agrave; al servizio di&amp;nbsp; essere consumato correttamente dall&amp;rsquo;emulatore Android che non &amp;egrave; in grado di raggiungere li servizio hostato come localhost.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin-bottom: 5px"&gt;Oltre alle slide reperibili su Slideshare potete trovare &lt;a target="_blank" href="https://skydrive.live.com/redir?resid=2D0742D8F39D96E3!982"&gt;qui&lt;/a&gt; le tre demo mostrate per info e/o suggerimenti sono a vostra disposizione attraverso i contatti inseriti nelle slide.&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22988" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/leo/archive/tags/Community/default.aspx">Community</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Android/default.aspx">Android</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Monodroid/default.aspx">Monodroid</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Mono/default.aspx">Mono</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><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>Community Days 2013</title><link>http://dotnetside.org/blogs/vito/archive/2012/12/10/community-days-2013.aspx</link><pubDate>Mon, 10 Dec 2012 05:15:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22986</guid><dc:creator>VitoA</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Anche quest'anno uno degli eventi pi&amp;ugrave; "community" dell'anno ritorna puntuale. Si terranno a Milano, infatti, i Community Days, una conferenza gratuita sulle tecnologie Microsoft e organizzata in collaborazione con tutte le community presenti sul territorio nazionale.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Tanti gli argomenti trattati: Windows Phone, Windows 8, ASP.NET MVC, Azure e tanto altro 
ancora!&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;evento si svolger&amp;agrave; il 27 e 28 Febbraio 2013, presso il Microsoft Innovation Campus a Peschiera Borromeo (MI). In questi giorni si sta delineando l'agenda completa ma, nel frattempo, &amp;egrave; gi&amp;agrave; possibile iscriversi tramite la pagina dedicata. Ovviamente non potete mancare, ci saranno speaker e persone da tutta Italia e anche noi di DotNetSide non mancheremo di partecipare e di dare il nostro contributo!&lt;br /&gt;&lt;br /&gt;Il sito ufficiale dei Community Days 2013 &amp;egrave; http://www.communitydays.it/events/communitydays-2013/&lt;/p&gt;
&lt;p&gt;Ci vediamo l&amp;igrave;, io vi aspetto per la &lt;a href="http://www.communitydays.it/events/communitydays-2013/misc05/"&gt;mia sessione&lt;/a&gt; sull'utilizzo di Sqlite sulle varie piattaforme phone, tablet e desktop :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22986" width="1" height="1"&gt;</description></item><item><title>Implementare il “Lazy Loading”</title><link>http://dotnetside.org/blogs/madil/archive/2012/11/22/implementare-il-lazy-loading.aspx</link><pubDate>Thu, 22 Nov 2012 18:23:26 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22981</guid><dc:creator>MADIL</dc:creator><slash:comments>0</slash:comments><description>Tempo fa avevo realizzato un HTTP Handler , per cambiare dinamicamente l’header del mio blog per maggiori informazioni sul codice e sulle impostazioni che vanno inserite nel Web.config vedi questo post . Nel mio caso volevo implementare un sistema che mi cambiava in automatico l’immagine d’intestazione. La questione principale era realizzare un’implementazione del pattern “Lazy Loading” . Il Lazy Loading è un “ design pattern ”, molto utile quando la lettura dei dati richiede un notevole consumo...(&lt;a href="http://dotnetside.org/blogs/madil/archive/2012/11/22/implementare-il-lazy-loading.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22981" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/madil/archive/tags/Web/default.aspx">Web</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/XML/default.aspx">XML</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/Design+Pattern/default.aspx">Design Pattern</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/HttpHandler/default.aspx">HttpHandler</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><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>Librerie per Arduino–Aggiornare le vecchie librerie</title><link>http://dotnetside.org/blogs/pixel/archive/2012/10/17/librerie-per-arduino-aggiornare-le-vecchie-librerie.aspx</link><pubDate>Wed, 17 Oct 2012 15:01:56 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22968</guid><dc:creator>pixel</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Spulciando alcune librerie ho trovato delle istruzioni che in fase di compilazione dovrebbero dichiarare correttamente i riferimenti ai file in base all’IDE che si sta utilizzando. E’ possibile aggiornare le nostre vecchie librerie per il nuovo IDE e lasciarle compatibili col vecchio senza nessun problema. Con le istruzioni che riporto di seguito sarà cura del compilatore riferirsi al file corretto :&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="preproc"&gt;#if&lt;/span&gt; defined(ARDUINO) &amp;amp;&amp;amp; ARDUINO &amp;gt;= 100&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;    #include &lt;span class="str"&gt;&amp;quot;Arduino.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="preproc"&gt;#else&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;    #include &lt;span class="str"&gt;&amp;quot;WProgram.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="preproc"&gt;#endif&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p align="justify"&gt;Ho apportato subito la modifica alla libreria LED che è stata correttamente compilata sia dall’ IDE 00.2.2 che dall’ IDE 1.0.1
  &lt;hr /&gt;&lt;a href="http://dotnetside.org/blogs/pixel/archive/2012/10/01/condizioni-d-uso.aspx"&gt;&lt;font size="1"&gt;Condizioni d’uso&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22968" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Arduino/default.aspx">Arduino</category></item><item><title>Librerie per Arduino (3/3)</title><link>http://dotnetside.org/blogs/pixel/archive/2012/10/13/librerie-per-arduino-3-3.aspx</link><pubDate>Sat, 13 Oct 2012 18:36:55 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22967</guid><dc:creator>pixel</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Dopo aver analizzato velocemente il codice dei file .h e .cpp passo agli appunti relativi al file Keyword che serve all’IDE per capire quali sono i metodi da marcare correttamente. Riporto di seguito il file :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;# Syntax Coloring Map For LED&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;# Datatypes (KEYWORD1)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;LED    KEYWORD1&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;# Methods and Functions (KEYWORD2)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;Color    KEYWORD2&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;Blink    KEYWORD2&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;Fade    KEYWORD2&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;ON      KEYWORD2&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;OFF     KEYWORD2&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;#######################################&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;# Constants (LITERAL1)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;#######################################&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;









.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Il risultato per il metodo Blink è il seguente :&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/Blink_5F00_blog_5F00_29CDDAEF.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="Blink_blog" border="0" alt="Blink_blog" src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/Blink_5F00_blog_5F00_thumb_5F00_4D870289.png" width="346" height="29" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Completata la stesura dei file la libreria può essere utilizzata usando la direttiva&lt;strong&gt; #include&lt;/strong&gt;. Riporto di seguito un esempio:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="rem"&gt;//************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="rem"&gt;//** Prova Libreria LED **&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="rem"&gt;//************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="rem"&gt;//** by Pixel           **&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="rem"&gt;//************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;#include &amp;lt;LED.h&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;LED rosso (9);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;LED verde (10);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;boolean first=HIGH;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; setup() {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;}&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; loop() {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;  rosso.&lt;font color="#f79646"&gt;Blink&lt;/font&gt;(500,500,0,0);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;  verde.&lt;font color="#f79646"&gt;Blink&lt;/font&gt;(250,250,3,1000);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;  &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p align="justify"&gt;La linea 8 importa la libreria nel progetto con la direttiva&lt;strong&gt; &lt;/strong&gt;&lt;em&gt;&lt;font color="#000000"&gt;#include&lt;/font&gt;&lt;/em&gt;; le linee 10 e 11 dichiarano due oggetti Led chiamati &lt;strong&gt;&lt;em&gt;rosso&lt;/em&gt;&lt;/strong&gt; (collegato al &lt;em&gt;pin 9)&lt;/em&gt; e &lt;strong&gt;&lt;em&gt;verde&lt;/em&gt;&lt;/strong&gt; (collegato al &lt;em&gt;pin 10)&lt;/em&gt;. la linea 18 utilizza il metodo Blink per fare lampeggiare il LED Rosso senza interruzioni la linea 19 utilizza il metodo Blink introducendo una pausa di 1 Sec. ogni 3 lampeggi.&lt;/p&gt;

&lt;p align="justify"&gt;Riporto nuovamente il video :&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:8fde1483-522f-4106-8fb7-75c194708d0d" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="448" height="252"&gt;&lt;param name="movie" value="http://www.youtube.com/v/h2AmHF63g6I?hl=en&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/h2AmHF63g6I?hl=en&amp;amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;&lt;a href="http://dotnetside.org/blogs/pixel/archive/2012/10/01/condizioni-d-uso.aspx"&gt;&lt;font size="1"&gt;Condizioni d’uso&lt;/font&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22967" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Arduino/default.aspx">Arduino</category></item><item><title>Librerie per Arduino (2/3)</title><link>http://dotnetside.org/blogs/pixel/archive/2012/10/13/librerie-per-arduino-2-3.aspx</link><pubDate>Sat, 13 Oct 2012 18:35:28 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22966</guid><dc:creator>pixel</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Dopo aver descritto la libreria e il suo metodo principale riporto del codice e alcune brevi spiegazioni:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Incomincio creando la cartella della mia libreria ad esempio “Led” in ..\..\&lt;strong&gt;libraries&lt;/strong&gt;; Il percorso completo sul mio computer è&amp;#160; C:\Program Files\Arduino\arduino-1.0.1\libraries.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;poi avvalendomi di un editor di testi evoluto come &lt;strong&gt;Notepad++ &lt;/strong&gt;creo tre file chiamati ad esempio :&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;led.h&lt;/em&gt;&lt;/strong&gt; – file che descrive l’interfaccia della classe e include la dichiarazione delle variabili.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;led.cpp –&lt;/strong&gt;&lt;/em&gt; file che contiene il codice della classe.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;keywords.txt –&lt;/strong&gt;&lt;/em&gt; File che serve all’IDE di Arduino per “marcare” correttamente le parole chiave della nostra classe.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Il File .h generalmente ricalca la seguente struttura :&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="rem"&gt;//Necessari per compilare correttamente la classe&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;font color="#d16349"&gt;#ifndef&lt;/font&gt; &lt;strong&gt;&lt;em&gt;nomefile&lt;/em&gt;&lt;/strong&gt;_h&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="preproc"&gt;#define&lt;/span&gt; &lt;strong&gt;&lt;em&gt;nomefile&lt;/em&gt;&lt;/strong&gt;_h&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="rem"&gt;//Nota : la nuova versione dell'IDE 1.0.1 non riconosce più&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="rem"&gt;//#include &amp;quot;WProgram.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;#include &lt;span class="str"&gt;&amp;quot;Arduino.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;&lt;span class="rem"&gt;//Inizio della Classe - Sostiuire &lt;strong&gt;&lt;em&gt;nomeclasse&lt;/em&gt;&lt;/strong&gt; &lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="width: 99.74%; height: 15px" class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; &lt;strong&gt;&lt;em&gt;nomeclasse&lt;/em&gt;&lt;/strong&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;  &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;&lt;span class="rem"&gt;// Variabili e Metodi public&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt;:&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;&lt;span class="rem"&gt;// Variabili e Metodi Private&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt;:&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;  &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;};&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;&lt;span class="preproc"&gt;#endif&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;






















.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Il file .h per la classe LED è il seguente :&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;#ifndef LED_h&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="preproc"&gt;#define&lt;/span&gt; LED_h&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;#include &lt;span class="str"&gt;&amp;quot;Arduino.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; LED&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;{&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  &lt;span class="kwrd"&gt;public&lt;/span&gt;:&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    &lt;span class="rem"&gt;// Costruttori&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    LED(&lt;span class="kwrd"&gt;int&lt;/span&gt; pin);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;    &lt;span class="rem"&gt;// Metodi Public&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;    &lt;span class="rem"&gt;// Lampeggio&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    &lt;span class="kwrd"&gt;void&lt;/span&gt; Blink(&lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOn, &lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOFF, &lt;span class="kwrd"&gt;int&lt;/span&gt; _Count, &lt;span class="kwrd"&gt;int&lt;/span&gt; _Pause);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;    &lt;span class="rem"&gt;// Comandi ON-OFF&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;    &lt;span class="kwrd"&gt;void&lt;/span&gt; ON();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;    &lt;span class="kwrd"&gt;void&lt;/span&gt; OFF();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;    &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;  &lt;span class="kwrd"&gt;private&lt;/span&gt;:&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;    &lt;span class="rem"&gt;// Variabili Private&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _pin;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;    boolean _Stop;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;    boolean _status;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;    boolean _prevstatus;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;    &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;    &lt;span class="rem"&gt;// Metodi Privati&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;    &lt;span class="rem"&gt;// Metodo per il calcolo del tempo&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;    boolean _Time(&lt;span class="kwrd"&gt;double&lt;/span&gt; _PV);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;    &lt;span class="rem"&gt;// Metodo per il lampeggio del LED&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;    boolean Blinking(&lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOn, &lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOFF);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;    &lt;span class="rem"&gt;// Variabili Private&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;    &lt;span class="rem"&gt;//***************************************************&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;    &lt;span class="rem"&gt;// Variabili per Routine _time &lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;    boolean _First;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _InitialTime;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _FinalTime;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _CurrentTime;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _DiffTime;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;    &lt;span class="rem"&gt;// Variabili Routine Blink&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _IntervalON;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _IntervalOFF;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;    boolean _BoolPause;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _BlinkTime;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;    &lt;span class="kwrd"&gt;int&lt;/span&gt; _counter;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;};&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;&lt;span class="preproc"&gt;#endif&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;













.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;div class="csharpcode"&gt;&lt;span class="preproc"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div class="csharpcode"&gt;&lt;span class="preproc"&gt;&lt;font color="#000000"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;font color="#000000"&gt;il file .cpp deve rispettare la firma dell’interfaccia:&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="preproc"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;div class="csharpcode"&gt;
    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;#include &lt;span class="str"&gt;&amp;quot;Arduino.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;#include &lt;span class="str"&gt;&amp;quot;LED.h&amp;quot;&lt;/span&gt;  &lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="rem"&gt;// Costruttore&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;LED::LED(&lt;span class="kwrd"&gt;int&lt;/span&gt; pin) {   &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt; pinMode(pin, OUTPUT); &lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;  _pin = pin;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;  _status = LOW;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;  _prevstatus=HIGH;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;  _Stop= LOW;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;} &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;&lt;font color="#8fb08c"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#008000"&gt;//semplice&lt;/font&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; LED::Blink(&lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOn, &lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOFF, &lt;span class="kwrd"&gt;int&lt;/span&gt; _Count, &lt;span class="kwrd"&gt;int&lt;/span&gt; _Pause) {   &lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt; &lt;span class="rem"&gt;// Se count e Pause =0 -&amp;gt; lampeggio semplice&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (_Count==0 | _Pause==0){&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    &lt;span class="rem"&gt;// Avvio il Lampeggio&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;    Blinking(IntervalOn, IntervalOFF);&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;}&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;&lt;span class="rem"&gt;// Se Count e Pause &amp;lt;&amp;gt;0 -&amp;gt; lampeggio complesso&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (_Count !=0 &amp;amp;&amp;amp; _Pause !=0) {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;        &lt;span class="rem"&gt;// Avvio il Lampeggio&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;        Blinking(IntervalOn, IntervalOFF);&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;        &lt;span class="rem"&gt;// Se il numero di lampeggi e &amp;gt;= a quelli desiderati &lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (_counter/2 &amp;gt;= _Count) {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;            &lt;span class="rem"&gt;// Attivo il Flag di Pausa&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;            _BoolPause=1;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            &lt;span class="rem"&gt;// Se il Flag Pausa e attivo e il Flag di Stop&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            &lt;span class="rem"&gt;// e LOW - primo accesso alla sequenza di Pausa&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (_BoolPause==1 &amp;amp;&amp;amp; _Stop==0) {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                &lt;span class="rem"&gt;// Memorizzo il tempo iniziale&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                _First=1;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                &lt;span class="rem"&gt;// Metto in Stop La Sequenza di &lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;                &lt;span class="rem"&gt;// di Lampeggio&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                _Stop=1;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            }&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;            &lt;span class="rem"&gt;// Se la pausa è finita&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (_Time(_Pause)==1) {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;                &lt;span class="rem"&gt;// reimposto il flag di Pausa&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;                &lt;span class="rem"&gt;// reimposto il flag di Stop&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;                &lt;span class="rem"&gt;// e azzero il contatore di Lampeggi&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;                _BoolPause=0;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;                _Stop=0;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;                _counter=0;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;            }&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;        }&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;}&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;}&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;&lt;span class="rem"&gt;// Metodo privato per gestire il lampeggio del LED &lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;boolean LED::Blinking(&lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOn, &lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOFF) {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt; &lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt; _IntervalON = IntervalOn;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt; _IntervalOFF = IntervalOFF;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt; &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (_Stop==0){&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;    &lt;span class="rem"&gt;// Memorizzo il tempo iniziale&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (_prevstatus != _status) {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;            _InitialTime=millis();&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;            _prevstatus=_status;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;        }&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;        &lt;span class="rem"&gt;// Se lo status e OFF&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (_status==0) {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;        &lt;span class="rem"&gt;// Conteggio la durata dello stato OFF&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;            _BlinkTime= _IntervalOFF;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;        }&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;        {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;        &lt;span class="rem"&gt;// Altrimenti conteggio la durata dello&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt;        &lt;span class="rem"&gt;// stato ON&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;            _BlinkTime= _IntervalON;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;        }&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;        &lt;span class="rem"&gt;// Misuro il tempo trascorso &lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;        &lt;span class="rem"&gt;// se il tempo è scaduto&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;        _FinalTime=millis();&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (_FinalTime -_InitialTime &amp;gt;= _BlinkTime) {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  79:  &lt;/span&gt;          &lt;span class="rem"&gt;// Not dello Status&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  80:  &lt;/span&gt;          _status = !_status;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  81:  &lt;/span&gt;          &lt;span class="rem"&gt;// Scrivo lo status sul Pin&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  82:  &lt;/span&gt;          digitalWrite(_pin, _status);&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  83:  &lt;/span&gt;          &lt;span class="rem"&gt;// Conto i Lampeggi&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  84:  &lt;/span&gt;          _counter += 1;      &lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  85:  &lt;/span&gt;        }&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  86:  &lt;/span&gt;  }&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  87:  &lt;/span&gt;  &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  88:  &lt;/span&gt;}&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  89:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  90:  &lt;/span&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; LED::ON() {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  91:  &lt;/span&gt;    &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  92:  &lt;/span&gt;    digitalWrite(_pin, HIGH);&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  93:  &lt;/span&gt;    &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  94:  &lt;/span&gt;}&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  95:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  96:  &lt;/span&gt;&lt;span class="kwrd"&gt;void&lt;/span&gt; LED::OFF() {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  97:  &lt;/span&gt;    &lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt;  98:  &lt;/span&gt;        digitalWrite(_pin, LOW);&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  99:  &lt;/span&gt;    }&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 100:  &lt;/span&gt;&amp;#160;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 101:  &lt;/span&gt;boolean LED::_Time(&lt;span class="kwrd"&gt;double&lt;/span&gt; _PV ) {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 102:  &lt;/span&gt;    &lt;span class="rem"&gt;//Se il flag first=HIGH sono al primo&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 103:  &lt;/span&gt;    &lt;span class="rem"&gt;//ciclo di lettura del tempo con millis&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 104:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (_First==HIGH ) {&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 105:  &lt;/span&gt;        &lt;span class="rem"&gt;//memorizzo nella variabile initialTime&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 106:  &lt;/span&gt;        &lt;span class="rem"&gt;//il tempo ad inizio conteggio&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 107:  &lt;/span&gt;        _InitialTime=millis();&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 108:  &lt;/span&gt;        _First=LOW;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 109:  &lt;/span&gt;    }&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 110:  &lt;/span&gt;    &lt;span class="rem"&gt;//altrimenti leggo il tempo corrente&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 111:  &lt;/span&gt;    &lt;span class="kwrd"&gt;else&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 112:  &lt;/span&gt;        &lt;span class="rem"&gt;//memorizzo in finalTime il tempo corrente&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 113:  &lt;/span&gt;        _FinalTime=millis();&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 114:  &lt;/span&gt;        &lt;span class="rem"&gt;//se il tempo attuale - iniziale &amp;gt; di quello&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 115:  &lt;/span&gt;        &lt;span class="rem"&gt;//impostato&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 116:  &lt;/span&gt;        _DiffTime=_FinalTime-_InitialTime;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 117:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (_DiffTime &amp;gt; _PV) {&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 118:  &lt;/span&gt;            &lt;span class="rem"&gt;// ritorno un valore true&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 119:  &lt;/span&gt;            &lt;span class="kwrd"&gt;return&lt;/span&gt; HIGH;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 120:  &lt;/span&gt;        }&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 121:  &lt;/span&gt;    }&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 122:  &lt;/span&gt;    &lt;span class="rem"&gt;//altrimenti il tempo trascorso non è&lt;/span&gt;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 123:  &lt;/span&gt;    &lt;span class="rem"&gt;//sufficiente e ritorno false&lt;/span&gt;&lt;/pre&gt;

    &lt;pre&gt;&lt;span class="lnum"&gt; 124:  &lt;/span&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; LOW;&lt;/pre&gt;

    &lt;pre class="alt"&gt;&lt;span class="lnum"&gt; 125:  &lt;/span&gt;}&lt;/pre&gt;
  &lt;/div&gt;
  &lt;style type="text/css"&gt;


















.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/div&gt;

&lt;p align="justify"&gt;Le linee da 5 a 11 definiscono il costruttore della classe, le linee 14 – 49 il metodo public che mi permette di gestire il lampeggio. Per il resto il codice è abbastanza commentato…&lt;/p&gt;

&lt;p align="justify"&gt;Dalle Sub Private &lt;strong&gt;_Time&lt;/strong&gt; e &lt;strong&gt;Blinking&lt;/strong&gt; si nota come non ho fatto uso di Delay&lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/wlEmoticon_2D00_winkingsmile_5F00_10537595.png" /&gt; . La libreria è sicuramente più complessa ma, una volta “perfezionata”, esporrà solo i metodi per gestire il Led in maniera semplice e immediata.&lt;/p&gt;

&lt;hr /&gt;&lt;a href="http://dotnetside.org/blogs/pixel/archive/2012/10/01/condizioni-d-uso.aspx"&gt;&lt;font size="1"&gt;Condizioni d’uso&lt;/font&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22966" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Arduino/default.aspx">Arduino</category><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Software/default.aspx">Software</category><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Librerie+personalizzate/default.aspx">Librerie personalizzate</category></item><item><title>Librerie per Arduino (1/3)</title><link>http://dotnetside.org/blogs/pixel/archive/2012/10/13/librerie-per-arduino-1-3.aspx</link><pubDate>Sat, 13 Oct 2012 10:34:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22965</guid><dc:creator>pixel</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Uno degli aspetti più evoluti della programmazione di Arduino è quello di avere la possibilità di creare delle librerie riutilizzabili da richiamare con la direttiva #include. &lt;/p&gt;  &lt;p align="justify"&gt;Al pari di altri ambienti di sviluppo si avranno a disposizione degli oggetti e relativi metodi che ci permettono di eseguire diverse operazioni e nello stesso tempo di “semplificare” lo sviluppo del nostro progetto. &lt;/p&gt;  &lt;p align="justify"&gt;Anche se le librerie che creo non si spingono a programmare gli aspetti di basso livello del microcontrollore (intervenendo ad es. su registri e locazioni di memoria), ritengo che utilizzare questo tipo di programmazione introduca notevoli vantaggi per la riusabilità del codice.&lt;/p&gt;  &lt;p align="justify"&gt;Gli appunti che allego si riferiscono ad una libreria per la gestione di un LED che&amp;#160; oltre ai classici ON/OFF prevede anche un metodo per gestirne il lampeggio :&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;Blink(&lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOn, &lt;span class="kwrd"&gt;int&lt;/span&gt; IntervalOFF, &lt;span class="kwrd"&gt;int&lt;/span&gt; _Count, &lt;span class="kwrd"&gt;int&lt;/span&gt; _Pause);&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;&lt;strong&gt;IntervalOn&lt;/strong&gt; = durata (ms) del LED nello stato accesso&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;&lt;strong&gt;IntervalOFF&lt;/strong&gt;= durata (ms) del LED nello stato spento&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;_&lt;/em&gt;Count&lt;/strong&gt;= Numero di lampeggi da eseguire prima della pausa – se 0 il lampeggio viene ripetuto senza pause&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;_&lt;/em&gt;Pause&lt;/strong&gt;= durata (ms) della pausa prima di ripetere i lampeggi.&lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p align="justify"&gt;L’effetto finale applicando il metodo Blink, con parametri diversi, a due LED e il seguente:&lt;/p&gt;

&lt;p align="justify"&gt;
  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d4daba2a-9376-4d00-9cdf-86a9155a7765" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;object width="448" height="252"&gt;&lt;param name="movie" value="http://www.youtube.com/v/h2AmHF63g6I?hl=en&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/h2AmHF63g6I?hl=en&amp;amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em"&gt;[Arduino] Realizzare una libreria per gestire i LED&lt;/div&gt;&lt;/div&gt;
&lt;/p&gt;

&lt;hr /&gt;&lt;a href="http://dotnetside.org/blogs/pixel/archive/2012/10/01/condizioni-d-uso.aspx"&gt;&lt;font size="1"&gt;Conzioni d'uso&lt;/font&gt;&lt;/a&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22965" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Arduino/default.aspx">Arduino</category><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Software/default.aspx">Software</category><category domain="http://dotnetside.org/blogs/pixel/archive/tags/Librerie+personalizzate/default.aspx">Librerie personalizzate</category></item><item><title>A volte ritorno…</title><link>http://dotnetside.org/blogs/pixel/archive/2012/10/01/a-volte-ritorno.aspx</link><pubDate>Mon, 01 Oct 2012 11:56:00 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22961</guid><dc:creator>pixel</dc:creator><slash:comments>0</slash:comments><description>&lt;p align="justify"&gt;Dopo molto tempo di inattivit&amp;agrave;, per mancanza di tempo, provo nuovamente a tenere aggiornato il blog&amp;nbsp; &lt;img src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/wlEmoticon_2D00_smilewithtongueout_5F00_0AD288BA.png" alt="Con la lingua fuori" class="wlEmoticon wlEmoticon-smilewithtongueout" style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" /&gt; .&lt;/p&gt;
&lt;p align="justify"&gt;&lt;br /&gt;Nel frattempo dall'ultimo post sono cambiate tante cose e il mio impegno come sviluppatore a tempo pieno si &amp;egrave; ridotto a qualche lavoro nel tempo libero .&lt;/p&gt;
&lt;p align="justify"&gt;Guardando il "bicchiere mezzo pieno" incomincio ad avere pi&amp;ugrave; tempo da dedicare a sport e Hobby vari... uno di questi &amp;egrave; diventato, negli ultimi tempi, la programmazione di Microcontrollori e pi&amp;ugrave; precisamente del famosissimo Arduino. &lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/Arduino_5F00_6CBE41DE.jpg"&gt;&lt;img height="176" width="192" src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/Arduino_5F00_thumb_5F00_64C69F7C.jpg" alt="Arduino" border="0" title="Arduino" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Non intendo parlare di questa "piattaforma" trattata ampiamente su internet dove &amp;egrave; possibile trovare tutte le informazioni del caso e non voglio trasformare il blog in una dispensa di tutorial (non ne sarei capace... &lt;img src="http://dotnetside.org/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pixel/wlEmoticon_2D00_embarrassedsmile_5F00_33FA20F8.png" alt="Imbarazzato" class="wlEmoticon wlEmoticon-embarrassedsmile" style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" /&gt;) ma, dando la mia personale interpretazione al concetto di blog, prover&amp;ograve; a pubblicare frammenti di codice, esperienze con Arduino e, naturalmente, Vb.Net , e trasformarli in una sorta di "appunti" con la speranza che possano essere utili. &lt;/p&gt;
&lt;p align="justify"&gt;Riferimenti per Arduino : &lt;a href="http://www.arduino.cc/"&gt;http://www.arduino.cc/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22961" width="1" height="1"&gt;</description></item><item><title>Design Pattern, Web Service &amp; Spaghetti …(Interfaccia)</title><link>http://dotnetside.org/blogs/madil/archive/2012/09/03/design-pattern-web-service-amp-spaghetti-interfaccia.aspx</link><pubDate>Mon, 03 Sep 2012 19:12:49 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22957</guid><dc:creator>MADIL</dc:creator><slash:comments>0</slash:comments><description>Il WebService che ho realizzato doveva essere accessibile dall’esterno attraverso una “ Porta di Dominio ”, quindi il file .asmx doveva avere un unico metodo ( WebMethod ) pubblico chiamato “Process” con due parametri in ingresso. Il primo “Intestazione” contiene i dati riguardanti il client che ha effettuato la chiamata ed ovviamente l’azione che bisogna eseguire. Il secondo “Messaggio” contiene i dati che effettivamente devono essere processati. Il WebService esegue quattro azioni: Invio Stampa...(&lt;a href="http://dotnetside.org/blogs/madil/archive/2012/09/03/design-pattern-web-service-amp-spaghetti-interfaccia.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22957" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/madil/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/Design+Pattern/default.aspx">Design Pattern</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/Web+Service/default.aspx">Web Service</category></item><item><title>Ricerca sviluppatore .NET</title><link>http://dotnetside.org/blogs/leo/archive/2012/08/21/ricerca-sviluppatore-net.aspx</link><pubDate>Tue, 21 Aug 2012 17:47:36 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22955</guid><dc:creator>leo.alario</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;La mia società sta selezionando uno sviluppatore .NET junior/senior full-time, da assumere a tempo indeterminato. &lt;/p&gt;  &lt;p&gt;E' richiesta la conoscenza di ASP.NET, ASP.NET AJAX, del .NET Framework 3.5, 4.0 e, di VB.NET e/o C#, ORACLE e/o MSSQL 2005. &lt;/p&gt;  &lt;p&gt;Chi fosse interessato può inviare il suo CV all’indirizzo e-mail: info(at)solinfo.eu .&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22955" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/leo/archive/tags/Lavoro/default.aspx">Lavoro</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Programmatore/default.aspx">Programmatore</category><category domain="http://dotnetside.org/blogs/leo/archive/tags/Developer/default.aspx">Developer</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><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>Design Pattern, Web Service &amp; Spaghetti …(intro)</title><link>http://dotnetside.org/blogs/madil/archive/2012/04/15/design-pattern-web-service-amp-spaghetti-intro.aspx</link><pubDate>Sun, 15 Apr 2012 18:46:45 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22949</guid><dc:creator>MADIL</dc:creator><slash:comments>0</slash:comments><description>&amp;#160; Un po’ di tempo fa ho realizzato un Web Service . Le considerazioni sull’implementazione dipendono da quale criterio di valutazione viene utilizzato. Il Web Service risulta essere funzionale ed efficiente ma poco mantenibile in quanto non avevo previsto un’adeguata progettazione ma effettuavo l’implementazione delle funzionalità che mi venivano richieste di volta in volta, aggiungendo codice o modificando il codice esistente, ottenendo un’applicazione con un’architettura rigida e difficile...(&lt;a href="http://dotnetside.org/blogs/madil/archive/2012/04/15/design-pattern-web-service-amp-spaghetti-intro.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22949" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/madil/archive/tags/Design+Pattern/default.aspx">Design Pattern</category><category domain="http://dotnetside.org/blogs/madil/archive/tags/Web+Service/default.aspx">Web Service</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><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>1</slash: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>1</slash: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>Custom SOAP Header</title><link>http://dotnetside.org/blogs/madil/archive/2012/02/19/custom-soap-header.aspx</link><pubDate>Sun, 19 Feb 2012 17:21:59 GMT</pubDate><guid isPermaLink="false">2d5e8256-a19a-4586-a65e-031f7ebe8345:22943</guid><dc:creator>MADIL</dc:creator><slash:comments>0</slash:comments><description>Ho realizzato un Web Service , il quale verrà pubblicato su di una Intranet, e comunicherà con l’esterno attraverso un sistema di autenticazione. I dati relativi all’autenticazione e al chiamante verranno passati al mio Web Service nell’Header SOAP attraverso un Xml (vedi codice) . &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt; &amp;lt;soap:Envelope xmlns:soap=&amp;quot;http://www.w3.org/2001/12/soap-envelope&amp;quot; soap:encodingStyle=&amp;quot;http://www.w3.org/2001/12/soap-encoding&amp;quot;&amp;gt;...(&lt;a href="http://dotnetside.org/blogs/madil/archive/2012/02/19/custom-soap-header.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://dotnetside.org/aggbug.aspx?PostID=22943" width="1" height="1"&gt;</description><category domain="http://dotnetside.org/blogs/madil/archive/tags/C_2300_/default.aspx">C#</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><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></channel></rss>