<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10italianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A08FQ3szcCp7ImA9WhVVF0s.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406</id><updated>2012-05-11T22:56:52.588+02:00</updated><category term="Virtual Machine" /><category term="Visual Studio" /><category term="Visual SourceSafe" /><category term="How To" /><category term="Microsoft" /><category term="Windows 8" /><category term="Patterns and Practices" /><category term="MVC" /><category term="Metro UI" /><category term="RPG" /><category term="Add-in" /><category term="TFS" /><category term="No-profit" /><category term="SQL Server" /><category term="MVP" /><category term="Samples" /><category term="Windows Live" /><category term="Windows" /><category term="Security" /><category term="Apple" /><category term="IIS" /><category term="Ajax" /><category term="Webcast" /><category term="XAML" /><category term="ASP.NET" /><category term="About me" /><category term="C#" /><category term="MSDN" /><category term="Development" /><category term="Bing" /><category term="Learning" /><category term="Community" /><category term="ALM" /><category term="Ineta" /><category term="WCF" /><category term="Linq" /><category term="Scrum" /><category term="Tools" /><category term="Hardware" /><category term="Do more with less" /><category term="User Group" /><category term="Events" /><category term="WPF" /><category term="Blog" /><category term="Tips and Tricks" /><category term="Silverlight" /><category term=".NET" /><category term="eBook" /><title>Il blog di Davide Vernole</title><subtitle type="html">Do more with less...</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.knodev.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.knodev.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>175</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/knodev" /><feedburner:info uri="knodev" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fknodev" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/knodev" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fknodev" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fknodev" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fknodev" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=it&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fknodev" src="http://eur.i1.yimg.com/eur.yimg.com/i/it/my/mioya1.gif">Subscribe with Mio Yahoo!</feedburner:feedFlare><entry gd:etag="W/&quot;A0MDQ3s5fCp7ImA9WhVVF0s.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-6871496198013049040</id><published>2012-05-11T22:51:00.000+02:00</published><updated>2012-05-11T22:51:12.524+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-11T22:51:12.524+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Metro UI" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows 8" /><title>Estendere l'applicazione per una Tile secondaria</title><content type="html">Estendere la propria applicazione Metro UI per Windows 8,&amp;nbsp;con le funzionalità previste dal contratto di Search, è tutto sommato un'operazione semplice (&lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/03/23/activating-windows-8-contracts-in-your-app.aspx" target="_blank"&gt;Activating Windows 8 contracts in your app&lt;/a&gt;). I problemi potrebbero nascere nel momento in cui la vostra applicazione richieda una o più Tile secondarie. In questi casi il &lt;strong&gt;Manifest Editor&lt;/strong&gt; si limita a estendere l'applicazione richiamata dalla Tile principale mentre non modifica la configurazione delle eventuali Tile secondarie. Per farlo è sufficiente editare il &lt;strong&gt;package.appxmanifest&lt;/strong&gt; con l'editor xml di Visual Studio per far si che anche le applicazioni secondarie siano estese con le funzionalità di Search.&lt;br /&gt;
&lt;br /&gt;
Ecco come procedere:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Estendete l'applicazione primaria con il Manifest Editor;&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-yW4Eb5w3JSE/T614QjZfc0I/AAAAAAAAAC4/LNWqa2aTgGE/s1600/ManifestEditor_Search.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://3.bp.blogspot.com/-yW4Eb5w3JSE/T614QjZfc0I/AAAAAAAAAC4/LNWqa2aTgGE/s400/ManifestEditor_Search.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Salvate le modifiche&lt;/li&gt;
&lt;li&gt;Aprite il file package.appxmanifest utilizzando l'editor xml di Visual Studio&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-m4xRHwUV2kE/T614eSYcyzI/AAAAAAAAADA/YXs7_KlYr7o/s1600/ChooseXmlEditor.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://4.bp.blogspot.com/-m4xRHwUV2kE/T614eSYcyzI/AAAAAAAAADA/YXs7_KlYr7o/s400/ChooseXmlEditor.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align="center"&gt;
﻿&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Individuate l'elemento &lt;strong&gt;&amp;lt;Extension&amp;gt;&lt;/strong&gt; dell'applicazione primaria&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
﻿&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-hbFJ8eG9Aes/T614ydQ8SPI/AAAAAAAAADI/L1NDohZSz-I/s1600/ExtensionElement.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="70" src="http://2.bp.blogspot.com/-hbFJ8eG9Aes/T614ydQ8SPI/AAAAAAAAADI/L1NDohZSz-I/s400/ExtensionElement.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Copiate tutto l'elemento e il suo contenuto&lt;/li&gt;
&lt;li&gt;Incollate quanto copiato nella sezione di ogni applicazione secondaria sotto l'elemento &lt;strong&gt;&amp;lt;/VisualElement&amp;gt;&lt;/strong&gt; e prima della dell'elemento &amp;lt;/Application&amp;gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-bN9L_FAXtR4/T615IyR5LCI/AAAAAAAAADQ/idkdonS7NoM/s1600/InsertionPoint.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-bN9L_FAXtR4/T615IyR5LCI/AAAAAAAAADQ/idkdonS7NoM/s1600/InsertionPoint.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align="center"&gt;
﻿&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Salvate e il gioco è fatto.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-6871496198013049040?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/10yyCpx5OiA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/6871496198013049040/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2012/05/estendere-lapplicazione-per-una-tile.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6871496198013049040?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6871496198013049040?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/10yyCpx5OiA/estendere-lapplicazione-per-una-tile.html" title="Estendere l'applicazione per una Tile secondaria" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-yW4Eb5w3JSE/T614QjZfc0I/AAAAAAAAAC4/LNWqa2aTgGE/s72-c/ManifestEditor_Search.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2012/05/estendere-lapplicazione-per-una-tile.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAASX08eCp7ImA9WhVXGU4.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-2051711637164454900</id><published>2012-04-20T18:02:00.001+02:00</published><updated>2012-04-20T18:02:28.370+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-20T18:02:28.370+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="RPG" /><title>Call RPG Subrutine from .NET</title><content type="html">&lt;p&gt;Oggi ho provato a verificare come fosse possibile chiamare una subrutine, scritta in RPG in AS/400 da un programma scritto in C#. Il risultato del test è stato positivo anche se, per il momento, mi sono limitato a una chiamata a un metodo che prevedeva un parametro di input e uno di output (entrambi di tipo stringa). Partendo da un esempio presente in rete (&lt;a href="http://www.netsplore.com/PublicPortal/Articles/ASPNETArticles/CallingAS400AS400RPGProgramsFromASPNET/tabid/246/Default.aspx" target="_blank"&gt;Calling AS/400 (AS400) RPG Programs From ASP.NET&lt;/a&gt;) ho realizzato un banale programma in RPG chiamato HELLORPG. Il listato del programma è il seguente:&lt;/p&gt; &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; *-------------------------------------------------------------------------&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; *                                                                        -&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; *  Nome Programma . : HELLORPG - Ritorna Hello + &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; passata          -&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; *                                                                        -&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; *-------------------------------------------------------------------------&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; *?INDICATORI:&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; *-------------------------------------------------------------------------&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;  PJNAME          S            128A&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;  PJRESULT        S            128A&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;                    ExSr      DEFCAM&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;                    ExSr      ROUT01&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;                    SetOn                                        LR&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; *-------------------------------------------------------------------------&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt; ** Flusso principale&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;      ROUT01        BegSr&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt; *&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;                    Eval      PJRESULT = &lt;span style="color: #006080"&gt;'Hello '&lt;/span&gt; + %Trim(PJNAME)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;                    EndSr&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; *-------------------------------------------------------------------------&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt; * Definizione campi &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt; *-------------------------------------------------------------------------&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;      DEFCAM        BegSr&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt; *&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;      *Entry        PList&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;                    Parm                    PJNAME&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;                    Parm                    PJRESULT&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt; *&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;                    Clear                   PJRESULT&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;                    EndSr&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Lato .NET ho creato una console application per invocare la subrutine RPG. Il contenuto della classe Program.cs, creata dal template del progetto di tipo Console Application in C# è il seguente:&lt;/p&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     Console.WriteLine(InvokeRPG(&lt;span style="color: #006080"&gt;"from AS/400"&lt;/span&gt;));&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Internamente alla classe è presente anche un metodo InvokeRPG che si occupa di predisporre la chiamata al verso AS/400. Il codice del metodo prevede la creazione di un’istanza a una classe di help che si occupa di configurare il sistema di riferimento, predisporre la chiamata, eseguirla e tornare gli eventuali valori di ritorno.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Il metodo InvokeRPG è riportato di seguito:&lt;/p&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; InvokeRPG(&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: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Istanza alla classe di helper&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     AS400Program program = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; AS400Program(RPGConsole.Properties.Settings.Default.DVConnection);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Istanza al converter per le stringhe&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     cwbx.StringConverter stringConverter = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; cwbx.StringConverter();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Creazione collezione dei parametri e loro valorizzazione&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     cwbx.ProgramParameters parameters = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; cwbx.ProgramParameters();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     parameters.Append(&lt;span style="color: #006080"&gt;"PGNAME"&lt;/span&gt;, cwbx.cwbrcParameterTypeEnum.cwbrcInput, 128);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     stringConverter.Length = 128;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     parameters[&lt;span style="color: #006080"&gt;"PGNAME"&lt;/span&gt;].Value = stringConverter.ToBytes(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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     parameters.Append(&lt;span style="color: #006080"&gt;"PGRESULT"&lt;/span&gt;, cwbx.cwbrcParameterTypeEnum.cwbrcOutput, 128);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Esecuzione della chiamata&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     program.Invoke(&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; parameters);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Conversione del valore di ritorno&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; result = stringConverter.FromBytes(parameters[&lt;span style="color: #006080"&gt;"PGRESULT"&lt;/span&gt;].Value);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;     program.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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;La classe di helper è la seguente:&lt;/p&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;&lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; AS400Program&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; as400Configured = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; cwbx.AS400System as400;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; cwbx.Program 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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Formato della configurazione: as400;userid;password;library;program&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; AS400Program(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; configuration)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (!as400Configured)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[] settings = configuration.Split(&lt;span style="color: #006080"&gt;';'&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (settings.Length == 5)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;                 as400 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; cwbx.AS400System();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;                 program = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; cwbx.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: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;                 as400.Define(settings[0]);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;                 program.system = as400;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;                 program.system.UserID = settings[1];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;                 program.system.Password = settings[2];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;                 program.LibraryName = settings[3];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;                 program.ProgramName = settings[4];&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;                 as400Configured = &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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Exception(&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;                     &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"Invalid AS400Program configuration string : [{0}]"&lt;/span&gt;, configuration)));&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Predisposizione e invocazione della subroutine&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; Invoke(&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; throwInsteadOfReturn, &lt;span style="color: #0000ff"&gt;ref&lt;/span&gt; cwbx.ProgramParameters parameters)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; success = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum41"&gt;  41:&lt;/span&gt;             &lt;span style="color: #008000"&gt;//Gestione della connessione&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum42"&gt;  42:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (as400.IsConnected(cwbx.cwbcoServiceEnum.cwbcoServiceRemoteCmd) == 0)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum43"&gt;  43:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum44"&gt;  44:&lt;/span&gt;                 &lt;span style="color: #008000"&gt;//Disconnesione e riconnesione&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum45"&gt;  45:&lt;/span&gt;                 as400.Disconnect(cwbx.cwbcoServiceEnum.cwbcoServiceAll);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum46"&gt;  46:&lt;/span&gt;                 as400.Connect(cwbx.cwbcoServiceEnum.cwbcoServiceRemoteCmd);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum47"&gt;  47:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum48"&gt;  48:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (as400.IsConnected(cwbx.cwbcoServiceEnum.cwbcoServiceRemoteCmd) == 0)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum49"&gt;  49:&lt;/span&gt;                 {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum50"&gt;  50:&lt;/span&gt;                     &lt;span style="color: #008000"&gt;//TODO: da gestire&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum51"&gt;  51:&lt;/span&gt;                 }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum52"&gt;  52:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum53"&gt;  53:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum54"&gt;  54:&lt;/span&gt;             program.Call(parameters);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum55"&gt;  55:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum56"&gt;  56:&lt;/span&gt;             success = &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: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum57"&gt;  57:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum58"&gt;  58:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (Exception e)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum59"&gt;  59:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum60"&gt;  60:&lt;/span&gt;             &lt;span style="color: #008000"&gt;//Gestione errori AS/400&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum61"&gt;  61:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (as400.Errors.Count &amp;gt; 0)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum62"&gt;  62:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum63"&gt;  63:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (cwbx.Error error &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; as400.Errors)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum64"&gt;  64:&lt;/span&gt;                 {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum65"&gt;  65:&lt;/span&gt;                     &lt;span style="color: #008000"&gt;//TODO: da gestire&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum66"&gt;  66:&lt;/span&gt;                 }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum67"&gt;  67:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum68"&gt;  68:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum69"&gt;  69:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (program.Errors.Count &amp;gt; 0)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum70"&gt;  70:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum71"&gt;  71:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (cwbx.Error error &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; program.Errors)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum72"&gt;  72:&lt;/span&gt;                 {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum73"&gt;  73:&lt;/span&gt;                     &lt;span style="color: #008000"&gt;//TODO: da gestire&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum74"&gt;  74:&lt;/span&gt;                 }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum75"&gt;  75:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum76"&gt;  76:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum77"&gt;  77:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (throwInsteadOfReturn)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum78"&gt;  78:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum79"&gt;  79:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;throw&lt;/span&gt; (e);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum80"&gt;  80:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum81"&gt;  81:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum82"&gt;  82:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum83"&gt;  83:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (success);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum84"&gt;  84:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum85"&gt;  85:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum86"&gt;  86:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//Chiusura della connessione&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum87"&gt;  87:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; 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: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum88"&gt;  88:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum89"&gt;  89:&lt;/span&gt;         as400.Disconnect(cwbx.cwbcoServiceEnum.cwbcoServiceAll);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum90"&gt;  90:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum91"&gt;  91:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Per poter comunicare con il server AS/400 è necessario mettere in piedi un canale di comunicazione. Per farlo servono alcune informazioni:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Nome o indirizzo IP del server AS/400 &lt;br /&gt;&lt;li&gt;Utente &lt;br /&gt;&lt;li&gt;Password dell’utente &lt;br /&gt;&lt;li&gt;Libreria &lt;br /&gt;&lt;li&gt;Programma da invocare&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Le informazioni possono essere gestite nel file di configurazione dell’applicazione. Basterà quindi crearsi una voce nei settings che contenga le informazioni nel seguente formato:&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;strong&gt;serverAS400;userid;password;library;program&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Questa è la formattazione attesa dalla libreria di helper. Ovviamente può essere rivista secondo le proprie esigenze; questo però deve produrre anche una conseguente modifica nel file di helper o nel metodo che istanzia la classe di helper.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Altro punto importante per poter eseguire la connessione è referenziare l’oggetto COM definito nella libreria &lt;strong&gt;cwbx.dll&lt;/strong&gt;; libreria che viene installata dall’IBM Client Access. La libreria si trova, se avete eseguito l’installazione di default, in questa directory:&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;strong&gt;C:\Program Files (x86)\IBM\Client Access\Shared&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I limiti di questa tecnica non mi sono ancora completamente noti e se necessario cercherò di esplorarli più avanti. Al momento posso affermare che potrebbe essere la soluzione ideale per riutilizzare logica di business presente in AS/400 esponendola con dei web services sviluppati utilizzando Windows Communication Server (WCF) per poter fruire delle informazioni virtualmente da qualsiasi dispositivo/interfaccia utente.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-2051711637164454900?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/2ZrmcdRvkvI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/2051711637164454900/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2012/04/call-rpg-subrutine-from-net.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/2051711637164454900?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/2051711637164454900?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/2ZrmcdRvkvI/call-rpg-subrutine-from-net.html" title="Call RPG Subrutine from .NET" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2012/04/call-rpg-subrutine-from-net.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFRnw_fSp7ImA9WhVTFUk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-2934234716334566293</id><published>2012-02-29T21:18:00.000+01:00</published><updated>2012-02-29T21:28:37.245+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-29T21:28:37.245+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="ALM" /><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Scrum" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Visual Studio 11 Team Foundation Server Express Beta</title><content type="html">Non ci sono più scuse. Con la versione beta appena rilasciata tutti i piccoli team, che fino a oggi non potevano utilizzare TFS per problemi di budget, hanno finalmente una soluzione in grado di supportarli.&lt;/br&gt;&lt;br /&gt;Qualche giorno fa Brian Harry aveva postato nel suo blog un interessante articolo (&lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/02/23/coming-soon-tfs-express.aspx"&gt;Coming Soon: TFS Express&lt;/a&gt;) in cui annunciava il prossimo rilascio di TFS Express. Oggi, con il rilascio della versione beta di Visual Studio 11, questa nuova versione di TFS è disponibile per il &lt;a href="http://www.microsoft.com/visualstudio/11/en-us/downloads#tfs-express"&gt;download&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;System Requirements&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Sistemi operativi supportati&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Windows 7 (x86 and x64)&lt;br /&gt;Windows 8 Consumer Preview (x86 and x64)&lt;br /&gt;Windows Server 2008 (x64) with Service Pack 2&lt;br /&gt;Windows Server 2008 R2 (x64)&lt;br /&gt;Windows Server 8 Beta (x64)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Architetture supportate&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;32-bit (x86)&lt;br /&gt;64-bit (x64)&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Requisiti Hardware&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;2.2 GHz or faster processor&lt;br /&gt;1 GB RAM&lt;br /&gt;4 GB of available hard disk space&lt;br /&gt;&lt;br /&gt;Da non dimenticare che per Visual Studio 11 è possibile andare in produzione con la &lt;a href="http://www.microsoft.com/visualstudio/11/it-it/downloads/go-live"&gt;licenza GO Live&lt;/a&gt; ricevendo il supporto per eventuali problemi che dovessero presentarsi.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-2934234716334566293?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/s93GrYKPtxs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/2934234716334566293/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2012/02/visual-studio-11-team-foundation-server.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/2934234716334566293?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/2934234716334566293?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/s93GrYKPtxs/visual-studio-11-team-foundation-server.html" title="Visual Studio 11 Team Foundation Server Express Beta" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2012/02/visual-studio-11-team-foundation-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08BRH88fip7ImA9WhVTFU4.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-757973301223196464</id><published>2012-02-29T17:10:00.001+01:00</published><updated>2012-02-29T17:10:55.176+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-29T17:10:55.176+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="ALM" /><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Le versioni di Visual Studio 11 Beta</title><content type="html">La nuova versione del prodotto di sviluppo Microsoft porta con se nuovi contenuti nelle diverse versioni.&lt;br /&gt;Se si poteva muovere una critica ai contenuti delle versioni precedenti era quella di aver escluso Microsoft Test Manager dalla versione Premium; versione su cui si basa la licenza fornita ai partner Microsoft (tra cui gli ISV). Per poter effettuare i test funzionali non restava che fare un upgrade alla Ultimate o acquistare delle licenze aggiuntive di Visual Studio 2010 Test Professional.&lt;br /&gt;Da quello che sembra emergere dalla &lt;a target="_blank" href="http://www.microsoft.com/visualstudio/11/en-us/products/compare"&gt;tabella comparativa&lt;/a&gt; tra le versioni 2011 questo limite per la versione Premium è superato in quanto i Testing Tool per i test funzionali sembrano ora essere inclusi anche in questa versione. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-757973301223196464?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/whRPFxv0LfQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/757973301223196464/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2012/02/le-versioni-di-visual-studio-11-beta.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/757973301223196464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/757973301223196464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/whRPFxv0LfQ/le-versioni-di-visual-studio-11-beta.html" title="Le versioni di Visual Studio 11 Beta" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2012/02/le-versioni-di-visual-studio-11-beta.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkINQH88fCp7ImA9WhVTFU4.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-5381075099917962118</id><published>2012-02-29T16:49:00.001+01:00</published><updated>2012-02-29T16:49:51.174+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-29T16:49:51.174+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ALM" /><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Visual Studio 11 Beta is here</title><content type="html">Rilasciata la beta di Visual Studio 11. Potete scaricarla da &lt;a target="_blank" href="http://www.microsoft.com/visualstudio/11/en-us"&gt;qui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-5381075099917962118?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/PM8pDbGyw_I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/5381075099917962118/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2012/02/visual-studio-11-beta-is-here.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5381075099917962118?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5381075099917962118?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/PM8pDbGyw_I/visual-studio-11-beta-is-here.html" title="Visual Studio 11 Beta is here" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2012/02/visual-studio-11-beta-is-here.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkADQ3s8cSp7ImA9WhRRFkQ.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-42723577195995816</id><published>2011-12-01T00:05:00.001+01:00</published><updated>2011-12-01T00:12:52.579+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T00:12:52.579+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: Visual Studio Architect Tools</title><content type="html">&lt;b&gt;UML con Visual Studio 2010&lt;/b&gt;&lt;br /&gt;
Una corretta progettazione è alla base di un applicazione in grado di dare valore al cliente. Quando ci troviamo in questa fase del ciclo di vita di un'applicazione la domanda che spesso ci si pone è: quale notazione utilizzare? Visual Studio 2010 ci propone una possibile risposta indicando in UML la scelta standard da seguire. Sebbene l'implementazione di Visual Studio 2010 non sia UML al 100% la soluzione offerta aiuta a standardizzare l'approccio progettuale di uno o più team di sviluppo. La sessione si pone l'obiettivo di dimostrare queste funzionalità simulando l'intero processo di progettazione.&lt;br /&gt;
Speaker: &lt;b&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Davide.Vernole" target="_blank"&gt;Davide Vernole&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Layer Diagram con Visual Studio 2010&lt;/b&gt;&lt;br /&gt;
In Visual Studio Ultimate è possibile utilizzare un Layer Diagram per visualizzare l'architettura logica del sistema. Un Layer Diagram organizza gli elementi fisici nel sistema in gruppi logici e astratti chiamati Layer. Questi Layer consentono di identificare, descrivere e differenziare i tipi di attività eseguite dagli elementi. Ogni Layer può contenere anche livelli aggiuntivi o sottolivelli, che descrivono specifiche attività più piccole eseguite dai gruppi discreti di elementi. Utilizzando un Layer Diagram è possibile eseguire le attività seguenti: Comunicare l'architettura logica esistente o desiderata del sistema; Individuare i conflitti tra il codice esistente e l'architettura desiderata; Visualizzare l'impatto delle modifiche sull'architettura desiderata quando si esegue il refactoring, l'aggiornamento o l'evoluzione del sistema; Rinforzare l'architettura desiderata durante lo sviluppo e la manutenzione del codice includendo la convalida con le operazioni di archiviazione e compilazione. Durante questa sessione vedremo come sia possibile utilizzare questa tipologia di diagramma per migliorare la creazione e la manutenzione delle nostre applicazioni.&lt;br /&gt;
Speaker: &lt;b&gt;&lt;a href="http://mircovanini.blogspot.com/" target="_blank"&gt;Mirco Vanini&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Venerdì 2/12/2011 ore 19:30
Novotel Castellana
Via Alfredo Ceccherini 21 - Venezia Mestre&lt;br /&gt;
&lt;br /&gt;
Per iscrizioni: &lt;a href="http://communitydevtool.com/public/frmdetailevent.aspx?eventid=1103MOURGMCCUBTENHFESH" target="_blank"&gt;clicca qui&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-42723577195995816?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/Kj-Mu94gEvY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/42723577195995816/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/12/xenet-visual-studio-architect-tools.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/42723577195995816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/42723577195995816?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/Kj-Mu94gEvY/xenet-visual-studio-architect-tools.html" title="XE.NET: Visual Studio Architect Tools" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/12/xenet-visual-studio-architect-tools.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYNRX08fip7ImA9WhRRFkQ.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-8044588802862987769</id><published>2011-11-30T23:23:00.001+01:00</published><updated>2011-11-30T23:46:34.376+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-30T23:46:34.376+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>Benvenuto UG DotNetLiguria</title><content type="html">Un caloroso benvenuto a &lt;a href="http://www.dotnetliguria.net/" target="_blank"&gt;DotNetLiguria&lt;/a&gt;, da oggi annoverata&amp;nbsp;tra gli User Group associati a Ineta. &amp;nbsp;A Raffaele e a tutti i suoi compagni di avventura un grosso in bocca al lupo e buona community a tutti.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-8044588802862987769?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/5UCnJooYdmM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/8044588802862987769/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/11/benvenuto-ug-dotnetliguria.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8044588802862987769?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8044588802862987769?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/5UCnJooYdmM/benvenuto-ug-dotnetliguria.html" title="Benvenuto UG DotNetLiguria" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/11/benvenuto-ug-dotnetliguria.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIBSH49eCp7ImA9WhdaFEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-8111059419068164338</id><published>2011-10-24T11:12:00.003+02:00</published><updated>2011-10-24T11:12:39.060+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-24T11:12:39.060+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tips and Tricks" /><category scheme="http://www.blogger.com/atom/ns#" term="How To" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>SSL Implicito o Esplicito</title><content type="html">Può capitare di dover&amp;nbsp;realizzare del codice in C# per comunicare con server Smtp che&amp;nbsp;richiedano&amp;nbsp;un canale protetto&amp;nbsp;utilizzando il protocollo SSL. L'implementazione del codice necessario è banale ma quello che non sapevo è che esistono due tipi differenti di modalità SSL: esplicita e implicita. La prima non crea particolari difficoltà utilizzando le classi consigliate dal framework (&lt;span class="selflink" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;System.Net.Mail&lt;span xmlns=""&gt;.&lt;/span&gt;SmtpClient&lt;/strong&gt;); la seconda invece richiede l'utilizzo della vecchia classe (&lt;span class="selflink" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;strong&gt;System.Web.Mail&lt;span xmlns=""&gt;.&lt;/span&gt;SmtpMail&lt;/strong&gt;) che perrò è marcata come &lt;strong&gt;Obsolete&lt;/strong&gt; nel framework 4.0.. Ci sono provider come Gmail che offrono il supporto per entrambe le modalità SSL (Implicita su porta 465 ed Esplicita su porta 587) mentre altri, come alcuni gestori PEC, solo in modalità implicità. Se volete avere un maggior dettaglio del problema potete leggere questo utile articolo: &lt;a href="http://blog.falafel.com/blogs/11-03-14/the_different_flavors_of_secure_smtp_and_ssl.aspx"&gt;The different flavors of secure SMTP and SSL&lt;/a&gt;. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="selflink" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span class="selflink" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;/span&gt;&lt;br xmlns="http://www.w3.org/1999/xhtml" /&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-8111059419068164338?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/K7TkZ3Si6zU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/8111059419068164338/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/10/ssl-implicito-o-esplicito.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8111059419068164338?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8111059419068164338?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/K7TkZ3Si6zU/ssl-implicito-o-esplicito.html" title="SSL Implicito o Esplicito" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/10/ssl-implicito-o-esplicito.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YBR3w-fyp7ImA9WhdaEU4.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-8224087940295018866</id><published>2011-10-20T21:32:00.001+02:00</published><updated>2011-10-20T21:32:36.257+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-20T21:32:36.257+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>Cloud Development</title><content type="html">&lt;p&gt;&lt;strong&gt;Implementing a solution with Azure, WP7 and Silverlight&lt;/strong&gt; &lt;br&gt;Lo sviluppo nella cloud, in particolare con Azure, sta diventando un argomento centrale per le future applicazioni che, sfruttando i servizi forniti, sono in grado di arrivare sul mercato a prezzi più concorrenziali e con maggiore scalabilità. In questa sessione vedremo la struttura di una applicazione sviluppata con Azure toccando mano a mano alcuni degli aspetti che caratterizzano lo sviluppo nella cloud come il table storage, le code etc. &lt;br&gt;Speaker: &lt;a href="http://blog.boschin.it/" target="_blank"&gt;Andrea Boschin&lt;/a&gt; (MVP Silverlight) &lt;/p&gt; &lt;p&gt;&lt;br&gt;&lt;strong&gt;Windows Identity Foundation - Getting started&lt;/strong&gt; &lt;br&gt;"L'autenticazione e l'autorizzazione sono processi che ogni applicazione moderna utilizza. La ricerca di un sistema riutilizzabile da sistemi eterogenei in grado di agevolare il paradigma del SSO (Single Sign On) agevolando sicurezza e federazione tra sistemi mi ha spinto a valutare la soluzione offerta dal Windows Identity Foundation. WIF è un framework in grado di astrarre i protocolli WS-Trust e WS-Federation presentando un set di API che gli sviluppatori possono utilizzare per creare servizi STS (Security Token Services) e applicazione basate sui claim. In questa sessione vedremo come iniziare a utilizzare queste nuove API nelle nostre applicazioni." &lt;br&gt;Speaker: &lt;a title="Il mio profilo MVP" href="https://mvp.support.microsoft.com/profile/Davide.Vernole" target="_blank"&gt;Davide Vernole&lt;/a&gt; (MVP Visual Studio ALM)&lt;br&gt;&lt;/p&gt; &lt;p&gt;Data: Venerdì 21 Ottobre 2011 &lt;br&gt;Ore: 19.30 &lt;br&gt;Luogo: Novotel Venezia Mestre Castellana – Via Alfredo Ceccherini 21 – 30174 Venezia Mestre &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-8224087940295018866?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/Mii24i13gJ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/8224087940295018866/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/10/cloud-development.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8224087940295018866?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8224087940295018866?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/Mii24i13gJ0/cloud-development.html" title="Cloud Development" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/10/cloud-development.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYARn09fCp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-3353690617375829122</id><published>2011-05-31T11:02:00.000+02:00</published><updated>2011-10-05T22:22:27.364+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:22:27.364+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Do more with less" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips and Tricks" /><category scheme="http://www.blogger.com/atom/ns#" term="How To" /><title>I 10 comandamenti per una buona gestione del codice sorgente</title><content type="html">&lt;p&gt;Leggendo la newsletter &lt;a title="simple-talk newsletter" href="http://www.simple-talk.com/default.aspx" target="_blank"&gt;simple-talk&lt;/a&gt; di Red-Gate ho trovato un interessante articolo sulla gestione del codice sorgente. Ho trovato il contenuto in linea con le best practices sull'argomento. Purtroppo però nelle aziende queste non sono seguite in toto o in parte. &lt;/p&gt; &lt;p&gt;Forse a qualcuno converrebbe leggersi questo articolo "&lt;a href="http://www.simple-talk.com/sql/sql-training/the-10-commandments-of-good-source-control-management/?utm_source=simpletalk&amp;amp;utm_medium=email-main&amp;amp;utm_content=10commandments-20110531&amp;amp;utm_campaign=SQL" target="_blank"&gt;The 10 Commandments of Good Source Control Management&lt;/a&gt;" e fare qualche riflessione a riguardo.&lt;/p&gt; &lt;p&gt;Buona lettura&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-3353690617375829122?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/0NdetCVYYto" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/3353690617375829122/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/05/i-10-comandamenti-per-una-buona.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/3353690617375829122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/3353690617375829122?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/0NdetCVYYto/i-10-comandamenti-per-una-buona.html" title="I 10 comandamenti per una buona gestione del codice sorgente" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/05/i-10-comandamenti-per-una-buona.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQFRX84fyp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-9219869829790710839</id><published>2011-04-01T22:00:00.000+02:00</published><updated>2011-10-05T22:25:14.137+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:25:14.137+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About me" /><category scheme="http://www.blogger.com/atom/ns#" term="MVP" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>MVP Award 2011</title><content type="html">&lt;p&gt;Il 1° di aprile è per molti di noi una giornata in cui si ricevono e si fanno scherzi. Per me questa data rappresenta anche il giorno in cui mi viene comunicato se sono o meno stato premiato con il &lt;strong&gt;Microsoft MVP Award&lt;/strong&gt;. Potete quindi immaginare quale sia il mio stato d'animo in questo giorno. Cerco di non far notare agli altri che sono teso in attesa di sapere se potrò o meno fregiarmi ancora di questo titolo. Per fortuna anche quest'anno è andata bene. &lt;strong&gt;MVP Visual Studio ALM&lt;/strong&gt; per un'altro anno. Sono al 9° MVP Award ma ogni volta è come se fosse la prima. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-9219869829790710839?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/ysBTEAq0ACE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/9219869829790710839/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/04/mvp-award-2011.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/9219869829790710839?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/9219869829790710839?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/ysBTEAq0ACE/mvp-award-2011.html" title="MVP Award 2011" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/04/mvp-award-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIEQHc6fip7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-6403194652372871699</id><published>2011-04-01T09:26:00.000+02:00</published><updated>2011-10-05T22:28:21.916+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:28:21.916+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About me" /><title>Se sei contro le nuove regole per la rete</title><content type="html">&lt;p&gt;Non ci smentiamo mai. I nostri legislatori riescono sempre a dare il massimo di loro stessi per peggiorare le cose. Le nuove regole per la rete proposte dalla AGCOM (Agenzia per le garanzie nelle comunicazioni) rischiano di introdurre meccanismi che consentiranno all’Autorità di impedire, in modo automatico e prescindendo da qualsiasi requisito di colpevolezza accertato dall’autorità giudiziaria, l’accesso ai siti posti fuori dal territorio italiano e di rimuovere contenuti sospettati di violare il diritto d’autore. Per un approfondimento vi invito a leggere l’articolo “&lt;a href="http://www.altroconsumo.it/117-s299203.htm" target="_blank"&gt;Sviluppo e libertà digitale&lt;/a&gt;” presente nel numero 117 di Soldi &amp;amp; Diritti. Per firmare la petizione contro questa nuova normativa visitate il sito &lt;a href="http://www.sitononraggiungibile.it"&gt;www.sitononraggiungibile.it&lt;/a&gt; . Per conoscere meglio la proposta normativa leggete la &lt;a href="http://www.agcom.it/default.aspx?DocID=5413" target="_blank"&gt;Delibera 668/2010&lt;/a&gt; dell’Agicom.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.sitononraggiungibile.it" target="_blank"&gt;&lt;img style="margin: 10px auto; display: block; float: none" alt="Sito Non raggiungibile" src="http://sitononraggiungibile.e-policy.it/downloads/banner-sitononraggiungibile.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-6403194652372871699?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/U41Q_Othuy4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/6403194652372871699/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/04/se-sei-contro-le-nuove-regole-per-la.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6403194652372871699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6403194652372871699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/U41Q_Othuy4/se-sei-contro-le-nuove-regole-per-la.html" title="Se sei contro le nuove regole per la rete" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/04/se-sei-contro-le-nuove-regole-per-la.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEBSHg-eSp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-5551762979119337898</id><published>2011-04-01T08:30:00.000+02:00</published><updated>2011-10-05T22:30:59.651+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:30:59.651+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About me" /><category scheme="http://www.blogger.com/atom/ns#" term="Do more with less" /><title>Stop alle telefonate pubblicitarie</title><content type="html">&lt;p&gt;Se come me siete stufi di ricevere sulla vostra linea telefonica continue chiamate per promozioni pubblicitarie, ora avete modo di difendervi. Iscrivendosi al &lt;a href="http://www.registrodelleopposizioni.it" target="_blank"&gt;Registro delle opposizioni&lt;/a&gt; potete impedire che il vostro nome venga pescato dagli elenchi telefonici. L’iscrizione è gratuita e può essere fatta da tutti I cittadini abbonati agli elenchi telefonici. (fonte: &lt;a href="http://www.altroconsumo.it/117-s299203.htm" target="_blank"&gt;Soldi &amp;amp; Diritti – Numero 117 – Marzo 2011&lt;/a&gt;)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-5551762979119337898?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/XftmN5Dhjp8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/5551762979119337898/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/04/stop-alle-telefonate-pubblicitarie.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5551762979119337898?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5551762979119337898?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/XftmN5Dhjp8/stop-alle-telefonate-pubblicitarie.html" title="Stop alle telefonate pubblicitarie" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/04/stop-alle-telefonate-pubblicitarie.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8CQ3s5eip7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-9103846100848026303</id><published>2011-03-25T10:33:00.000+01:00</published><updated>2011-10-05T22:34:22.522+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:34:22.522+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><category scheme="http://www.blogger.com/atom/ns#" term="WCF" /><title>Questa sera evento XE.NET su WCF 4</title><content type="html">Questa sera torna il Community Meeting di &lt;a href="http://www.xedotnet.org/" title="XE.NET" target="_blank"&gt;XE.NET&lt;/a&gt; incentrato su WCF 4.0. Io e Mirco Vanini ci alterneremo per illustrare novit&amp;agrave; e casi di utilizzo reali. Se siete nella zona di Mestre vi aspettiamo al Novotel Castellana. Per maggiori informazioni date un&amp;rsquo;occhiata &lt;a href="http://www.xedotnet.org/Home/Meeting/20110325" target="_blank"&gt;qui&lt;/a&gt;.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-9103846100848026303?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/TT20lJcwlj0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/9103846100848026303/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/03/questa-sera-evento-xenet-su-wcf-4.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/9103846100848026303?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/9103846100848026303?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/TT20lJcwlj0/questa-sera-evento-xenet-su-wcf-4.html" title="Questa sera evento XE.NET su WCF 4" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/03/questa-sera-evento-xenet-su-wcf-4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4DQH0-fSp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-8577184099367205286</id><published>2011-03-25T08:45:00.000+01:00</published><updated>2011-10-05T22:36:11.355+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:36:11.355+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About me" /><category scheme="http://www.blogger.com/atom/ns#" term="Apple" /><title>iOS 4.3 disastroso per la durata della batteria</title><content type="html">&lt;p&gt;Utilizzo un iPhone dalla versione 2G. Fino a prima della versione 4.0 di iOS, il telefono e il sistema operativo installato non hanno mai creato dei reali problemi. Qualche bugs si era presente ma niente di realmente serio. Dalla versione 4G del telefono e del relativo sistema operativo la qualità complessia del prodotto ha dovuto subire forti contraccolpi. La qualità che ha sempre contradistinto l’hardware e il software Apple ha iniziato a venir meno. Inutile elencare qui le diverse situazioni che rafforzano questa mia affermazione (cercate in rete e vedrete) ma non posso non dare voce alla mia rabbia di utente che, dopo l’installazione della versione 4.3 di iOS, ha visto ridursi drasticamente la durata della batteria del suo iPhone. Ho sempre considerato la batteria di questo telefono, per l’uso che faccio io dello stesso, uno dei suoi punti di forza. Con WiFi e Bluetooth sempre accesi, 3 ore di conversazioni, 20 sms e circa 35MB di traffico dati alla settimana la batteria del mio iPhone con la versione 4.2.1 durava tra i 5 e i 6 giorni. Ora grazie ai geniali ingegneri Apple, con l’installazione della 4.3, la durata della batteria non supera le 8/10 ore. Beh, qualcuno potrebbe dire che basta tornare alla versione precedente. Magari. Apple non permette il downgrade (almeno ufficialmente) e quindi ora mi tocca tenermi questo inutile gadget tecnologico in tasca sperando che la versione 4.3.1, che si vocifera sarà disponibile tra qualche settimana, risolva questo ennesimo problema di affidabilità. Mi chiedo se in Apple abbiano mai sentito parlare della parola restore o undo cosa nota a quasi tutte le maggiori software house del mondo. Evidentemente no. E che dire delle tecniche di test (TDD, ecc). Anche su questo punto ho qualche dubbio.&lt;/p&gt; &lt;p&gt;Comunque mentre sto scrivendo l’arrabbiatura sta passando. Ho anche contattato il supporto tecnico, visto che ho la garanzia estesa per il telefono, ma per poter fare una formale lamentela devo mandare una raccomandata alla sede Irlandese, e, per scorragiarmi, mi hanno anche detto che questa deve essere inviata tramite un avvocato o una associazione consumatori. Ma vi pare possibile? Anche per lamentarsi Apple vuole che un suo cliente paghi. Cose dell’altro mondo. Che la mela stia marcendo dall’interno? &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-8577184099367205286?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/CWd5LR6wD6Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/8577184099367205286/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/03/ios-43-disastroso-per-la-durata-della.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8577184099367205286?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8577184099367205286?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/CWd5LR6wD6Y/ios-43-disastroso-per-la-durata-della.html" title="iOS 4.3 disastroso per la durata della batteria" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/03/ios-43-disastroso-per-la-durata-della.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYBQn04cSp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-3999609756552958178</id><published>2011-03-10T17:38:00.000+01:00</published><updated>2011-10-05T22:39:13.339+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:39:13.339+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Rilasciata la Service Pack 1 per Visual Studio 2010 e TFS 2010</title><content type="html">&lt;p&gt;Alcuni di noi l’aspettavano con trepidazione per motivi diversi. Ora è arrivata! La Service Pack 1 di Visual Studio 2010 porta con se novità, bug fixing e il supporto per le ultime versioni di alcune tecnologie rilasciate da Microsoft dopo la RTM di VS2010. Per un approfondimento ecco alcuni link utili:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font color="#605f5f"&gt;&lt;a href="http://support.microsoft.com/kb/983509" target="_blank"&gt;Visual Studio 2010 Service Pack 1 – descrizione e contenuti&lt;/a&gt;&lt;/font&gt; &lt;/li&gt; &lt;li&gt;&lt;font color="#605f5f"&gt;&lt;a href="http://support.microsoft.com/kb/2182621" target="_blank"&gt;Team Foundation Server 2010 Service Pack 1 – descrizione e contenuti&lt;/a&gt;&lt;/font&gt; &lt;/li&gt; &lt;li&gt;&lt;font color="#605f5f"&gt;&lt;a href="http://blogs.msdn.com/bharry/default.aspx" target="_blank"&gt;Brian Harry&lt;/a&gt; blog post: &lt;/font&gt;&lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/03/08/vs-tfs-2010-sp1-and-tfs-project-server-integration-feature-pack-have-released.aspx" target="_blank"&gt;VS/TFS 2010 SP1 and TFS-Project Server Integration Feature Pack have Released&lt;/a&gt; &lt;/li&gt; &lt;li&gt;Brian Harry blog post: &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/03/09/installing-all-the-new-stuff.aspx" target="_blank"&gt;Installing all the new stuff&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;font color="#7d7d7d"&gt;Personalmente sono curioso di vedere I miglioramenti al help di Visual Studio che nella versione attuale trovo inusabile e poco produttivo. Incrocio le dita e corro a provare l’Help Viewer 1.1 (&lt;a href="http://blogs.msdn.com/b/csharpfaq/archive/2010/11/08/microsoft-help-viewer-1-1-updates-planned-for-visual-studio-2010-sp1.aspx" target="_blank"&gt;vedi video di presentazione&lt;/a&gt;).&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-3999609756552958178?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/WkKwYK6kZdY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/3999609756552958178/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/10/rilasciata-la-service-pack-1-per-visual.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/3999609756552958178?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/3999609756552958178?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/WkKwYK6kZdY/rilasciata-la-service-pack-1-per-visual.html" title="Rilasciata la Service Pack 1 per Visual Studio 2010 e TFS 2010" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/10/rilasciata-la-service-pack-1-per-visual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFSH04fip7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-4209006879399597434</id><published>2011-03-01T14:02:00.000+01:00</published><updated>2011-10-05T22:41:59.336+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:41:59.336+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="About me" /><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Blog" /><title>Nuovo sito in versione beta utilizzando Sitefinity 4.0</title><content type="html">&lt;p&gt;Il mio nuovo sito è live anche se ancora in versione beta. I problemi di pubblicazione legati allo spazio di hosting che utilizzo, Winhost, sono stati tali da farmi iniziare a pensare che devo trovare un’altra soluzione il che non mi rende assolutamente felice. Comunque l’importante è che la nuova grafica sia su e che l’unificazione di blog e sito sia avvenuta come voluto. Ora mi aspettano ancora alcune attività che potrò svolgere solo se il mio hosting provider riuscirà a capire come risolvere i problemi che gli ho evidenziato in questi giorni. Spero anche che la SP1 di &lt;a title="Vai al sito Telerik Sitefinity" href="http://www.sitefinity.com/" target="_blank"&gt;Sitefinity&lt;/a&gt;, che promette di ridurre l’utilizzo della memoria che al momento è decisamente eccessiva, mi aiuti a restare in Winhost dove sinceramente il supporto e la disponibilità del personale è decisamente di buona qualità. Un grazie particolare al team &lt;a href="http://www.telerik.com/" target="_blank"&gt;Telerik&lt;/a&gt; del prodotto Sitefinity che mi ha supportato in questi giorni. Ma dove sta il problema? La parte amministrativa della versione 4 si Sitefinty si basa in parte su servizi WCF che per qualche motivo, in Winhost, non funzionano come nell’ambiente di sviluppo e test che io utilizzo. Questo mi impediva di impostare la pagina home del sito con la conseguenza che navigando all’url del mio sito o del mio blog si otteneva il classico messagio di “Sito in costruzione”. Fortunatamente le Fluent API di Sitefinity e Radoslav Georgiev, valida risorsa di Telerik, mi sono venuti in aiuto permettendomi di impostarla programmaticamente risolvendo così almeno il problema di visibilità pubblica. Se vi trovate in queste condizioni può essere utile il codice seguente:&lt;/p&gt;&lt;pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;var fluent = App.WorkWith();&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;fluent.Pages().GetManager().Provider.SuppressSecurityChecks = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;&lt;span style="color: #008000"&gt;//look for a page by its name&lt;/span&gt; &lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;var page = fluent.Pages().LocatedIn(Telerik.Sitefinity.Fluent.Pages.PageLocation.Frontend)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;           .Where(p =&amp;gt; p.Title == "&lt;span style="color: #8b0000"&gt;YourDesignatedHomePage&lt;/span&gt;")&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;           .Where(p =&amp;gt; p.Page.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live)&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;            .Get().First();&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;ConfigManager configManager = Config.GetManager();&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;configManager.Provider.SuppressSecurityChecks = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;PagesConfig pagesConfig = configManager.GetSection&amp;lt;PagesConfig&amp;gt;();&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;pagesConfig.HomePageId = page.Id;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px"&gt;configManager.SaveSection(pagesConfig);&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Ora non mi resta che affrontare il prossimo problema per arrivare quanto prima dalla versione Beta alla versione RTM.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-4209006879399597434?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/Z9kBQr807ok" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/4209006879399597434/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/03/nuovo-sito-in-versione-beta-utilizzando.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/4209006879399597434?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/4209006879399597434?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/Z9kBQr807ok/nuovo-sito-in-versione-beta-utilizzando.html" title="Nuovo sito in versione beta utilizzando Sitefinity 4.0" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/03/nuovo-sito-in-versione-beta-utilizzando.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMCQ3o9fip7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-6478930849381634792</id><published>2011-02-27T18:49:00.000+01:00</published><updated>2011-10-05T22:44:22.466+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T22:44:22.466+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: WCF 4.0 Unleashed</title><content type="html">&lt;p&gt;&lt;strong&gt;WCF 4.0 - What's new&lt;/strong&gt; &lt;br /&gt;Windows Communication Foundation 4 ha introdotto nuove funzionalità che facilitano o agevolano l'utilizzo di questa tecnologia in particolari scenari di utilizzo. La sessione sarà incentrata sulle novità della versione 4.0 e sul confronto con la versione 3.5.    &lt;br /&gt;Speaker: Davide Vernole (MVP Visual Studio ALM) &lt;/p&gt; &lt;p&gt;&lt;strong&gt;WCF &amp;amp; .NET Micro FW – A real case&lt;/strong&gt; &lt;br /&gt;Con l’uscita della versione 4.0 di WCF e della versione 4.1 del .NET Micro FW i due mondi hanno la possibilità di parlarsi nativamente senza dover costruire sovrastrutture apposite. In questa sessione sarà affrontato un caso reale di utilizzo di WCF 4.0 con dispositivi basati su .NET Micro FW 4.1. L’utilizzo è bidirezionale, sarà mostrato come consumare servizi WCF da dispositivi e come gli stessi a loro volta possono mettere a disposizione servizi ricercabili e consumabili. La sessione si basa su un caso reale di utilizzo di cui verrà discussa sia l’architettura che le parti salienti del codice.    &lt;br /&gt;Speaker: Mirko Vanini (Senior Consultant)&lt;/p&gt; &lt;p&gt;Data: Venerdì 25 Marzo 2011    &lt;br /&gt;Ore: 19.30     &lt;br /&gt;Luogo: Novotel Venezia Mestre Castellana – Via Alfredo Ceccherini 21 – 30174 Venezia Mestre&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-6478930849381634792?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/97GsnT-N_4Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/6478930849381634792/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/02/xenet-wcf-40-unleashed.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6478930849381634792?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6478930849381634792?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/97GsnT-N_4Y/xenet-wcf-40-unleashed.html" title="XE.NET: WCF 4.0 Unleashed" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/02/xenet-wcf-40-unleashed.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YGRno7fCp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-4490151321048904672</id><published>2011-02-15T18:49:00.000+01:00</published><updated>2011-10-05T23:12:07.404+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:12:07.404+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: .NET Programming Tecniques</title><content type="html">&lt;p&gt;&lt;strong&gt;.NET Parallel Programming&lt;/strong&gt; &lt;br /&gt;La programmazione concorrente è notoriamente difficile, anche per utenti esperti. Microsoft con l'iniziativa Parallel Computing Initiative pone le basi sia per la costruzione di programmi paralleli sia per la creazione di una nuova generazione di applicazioni. In questa sessione verrano affrontati Elaborazione parallela, Programmazione concorrente, Miglioramento delle prestazioni, Debug delle applicazioni parallele, Analisi delle applicazioni parallele. Tali argomenti saranno esposti utilizzando C# e il .NET 4..0 con i relativi nuovi strumenti messi a disposizione da VS 2010 inerenti la programmazione parallela.    &lt;br /&gt;Speaker: Mirko Vanini (Senior Consultant) &lt;/p&gt; &lt;p&gt;&lt;strong&gt;MEF Explained&lt;/strong&gt; &lt;br /&gt;l Managed Extensibility Framework è uno strumento, introdotto recentemente nel framework .NET e in Silverlight, che consente di gestire facilmente la modularità delle applicazioni e il testing. La sua efficacia e semplicità ne fanno un valido alleato per aggiungere alle proprie applicazioni punti di estensibilità che le arricchiscano di opportunità per i propri clienti. Vedremo i concetti base di MEF e il suo utilizzo in alcuni casi pratici con una serie di esempi di codice.    &lt;br /&gt;Speaker: Andrea Boschin (MVP Silverlight)&lt;/p&gt; &lt;p&gt;Data: Venerdì 25 Febbraio 2011    &lt;br /&gt;Ore: 19.00     &lt;br /&gt;Luogo: Novotel Venezia Mestre Castellana – Via Alfredo Ceccherini 21 – 30174 Venezia Mestre&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-4490151321048904672?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/hhWXy5eGW6A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/4490151321048904672/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/02/xenet-net-programming-tecniques.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/4490151321048904672?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/4490151321048904672?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/hhWXy5eGW6A/xenet-net-programming-tecniques.html" title="XE.NET: .NET Programming Tecniques" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/02/xenet-net-programming-tecniques.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YDRH84fip7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-5853139489218223513</id><published>2011-01-15T17:12:00.000+01:00</published><updated>2011-10-05T23:12:55.136+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:12:55.136+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: Visual Studio Tips &amp; Tricks</title><content type="html">&lt;p&gt;&lt;strong&gt;Visual Studio 2010 Template, Wizard&lt;/strong&gt; &lt;br /&gt;Speaker: Davide Vernole (MVP Visual Studio ALM)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Code Generation con i templates T4 in Visual Studio&lt;/strong&gt; &lt;br /&gt;Speaker: Marco Parenzan &lt;/p&gt; &lt;p&gt;Data: Venerdì 28 Gennaio 2011    &lt;br /&gt;Ore: 19.30     &lt;br /&gt;Luogo: Novotel Venezia Mestre Castellana – Via Alfredo Ceccherini 21 – 30174 Venezia Mestre&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-5853139489218223513?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/qhfLmLKeORA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/5853139489218223513/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/02/xenet-visual-studio-tips-tricks.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5853139489218223513?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5853139489218223513?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/qhfLmLKeORA/xenet-visual-studio-tips-tricks.html" title="XE.NET: Visual Studio Tips &amp;amp; Tricks" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/02/xenet-visual-studio-tips-tricks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UCQnY7fCp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-6565272562156451659</id><published>2010-11-15T22:13:00.000+01:00</published><updated>2011-10-05T23:14:23.804+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:14:23.804+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ALM" /><category scheme="http://www.blogger.com/atom/ns#" term="TFS" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Visual Studio ALM: Feature Pack 2 ora disponibile</title><content type="html">&lt;a href="http://blogs.msdn.com/bharry/default.aspx" target="_blank"&gt;Brian Harry&lt;/a&gt; ha annunciato nel suo blog (vedi post &lt;a href="http://blogs.msdn.com/b/bharry/archive/2010/11/15/feature-pack-2-is-available.aspx" title="Feature Pack 2 is Available!" target="_blank"&gt;Feature Pack 2 is Available!&lt;/a&gt;) la disponibilit&amp;agrave; della Visual Studio ALM Feature Pack 2. Per saperne di pi&amp;ugrave; potete visitare la sezione dedicata che si trova sul sito MSDN: &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ff655021.aspx" title="Visual Studio 2010 Feature Packs" target="_blank"&gt;Visual Studio 2010 Feature Packs&lt;/a&gt;.  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-6565272562156451659?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/cajSZjoEwF0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/6565272562156451659/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/02/visual-studio-alm-feature-pack-2-ora.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6565272562156451659?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6565272562156451659?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/cajSZjoEwF0/visual-studio-alm-feature-pack-2-ora.html" title="Visual Studio ALM: Feature Pack 2 ora disponibile" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/02/visual-studio-alm-feature-pack-2-ora.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QEQ3Y-cCp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-6008798723347291667</id><published>2010-10-16T23:14:00.000+02:00</published><updated>2011-10-05T23:15:02.858+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:15:02.858+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: Mobile Track</title><content type="html">&lt;p&gt;&lt;strong&gt;Da Windows Mobile 6.5 a Windows Phone 7 Series&lt;/strong&gt; &lt;br /&gt; In questa sessione affronteremo le differenze principali tra le due versioni del s.o. Windows Mobile esplorando sia gli strumenti di sviluppo che le architetture. Verranno illustrati i punti in comune e non per preparare i nostri applicativi al passaggio verso il nuovo s.o. Nella sessione saranno esplorati poi i dettagli dell&amp;rsquo;architettura su cui si basa il nuovo s.o. Windows Phone. &lt;br /&gt; Speaker: Mirko Vanini&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Creare applicazioni per Windows Phone 7 Series con Silverlight &lt;/strong&gt;&lt;br /&gt; In questa sessione affronteremo lo sviluppo con Windows Phone 7, con particolare riguardo alla realizzazione di applicazioni con Silverlight, lo strumento principale per lo sviluppo su questo nuovo dispositivo. La sessione indicher&amp;agrave; come predisporre l'ambiente di sviluppo, quali sono gli strumenti di sviluppo e le basi da cui iniziare. &lt;br /&gt; Speaker: &lt;a href="http://blog.boschin.it/" target="_blank"&gt;Andrea Boschin&lt;/a&gt; (MVP Silverlight)&lt;/p&gt; &lt;p&gt;Data: Venerd&amp;igrave; 3 Dicembre 2010 &lt;br /&gt; Ore: 19.30 &lt;br /&gt; Luogo: Novotel Venezia Mestre Castellana &amp;ndash; Via Alfredo Ceccherini 21 &amp;ndash; 30174 Venezia Mestre&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-6008798723347291667?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/8XTWx4NjBI8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/6008798723347291667/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2011/02/xenet-mobile-track.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6008798723347291667?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/6008798723347291667?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/8XTWx4NjBI8/xenet-mobile-track.html" title="XE.NET: Mobile Track" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2011/02/xenet-mobile-track.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MERH0zeyp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-3732165825067453267</id><published>2010-10-16T19:16:00.000+02:00</published><updated>2011-10-05T23:16:45.383+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:16:45.383+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: Virtual Meeting</title><content type="html">&lt;p&gt;&lt;strong&gt;Iniziare con F#&lt;/strong&gt; &lt;br /&gt; In Visual Studio 2010 &amp;egrave; apparso un nuovo linguaggio: F#. Cos'&amp;egrave;, da dove nasce, come si scrive in F#. E perch&amp;egrave; tanti lo stanno apprezzando pi&amp;ugrave; di C#... &lt;br /&gt; Speaker: Marco Parenzan&lt;/p&gt; &lt;p&gt;Registrazione: 21:00:00 &lt;br /&gt; Inizio: 21:30:00 &lt;br /&gt; Localit&amp;agrave;: Live Meeting online&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-3732165825067453267?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/82NZtECSP2I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/3732165825067453267/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2010/10/xenet-virtual-meeting.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/3732165825067453267?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/3732165825067453267?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/82NZtECSP2I/xenet-virtual-meeting.html" title="XE.NET: Virtual Meeting" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2010/10/xenet-virtual-meeting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0INSH88eip7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-8378306096953439570</id><published>2010-10-16T17:18:00.000+02:00</published><updated>2011-10-05T23:19:59.172+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:19:59.172+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>XE.NET: Microsoft Community Tour</title><content type="html">&lt;p&gt;&lt;strong&gt;09:30 &amp;ndash; Keynote&lt;/strong&gt; &lt;br /&gt; Speaker: &lt;a href="http://www.geniodelmale.info/" title="Il blog di Lorenzo Barbieri" target="_blank"&gt;Lorenzo Barbieri&lt;/a&gt; - Microsoft Developer Evangelist &lt;/p&gt; &lt;p&gt;&lt;strong&gt;10:10 - Windows Phone 7: Sviluppare applicazioni per il Marketplace &lt;br /&gt; &lt;/strong&gt;In questa sessione vedremo lo sviluppo di applicazioni per il Marketplace di WP7, con esempi presi da applicazioni reali. &lt;br /&gt; Speaker:&amp;nbsp; &lt;a href="http://www.geniodelmale.info/" title="Il blog di Lorenzo Barbieri" target="_blank"&gt;Lorenzo Barbieri&lt;/a&gt; - Microsoft Developer Evangelist&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;11:35 - Make javascript Simple with jQuery&lt;/strong&gt; &lt;br /&gt; La costante richiesta di interfacce rich nella applicazioni internet sta spingendo sempre pi&amp;ugrave; l'adozione di librerie Javascript che facilitino la programmazione con questo linguaggio che per molti versi &amp;egrave; ostico, almeno quanto flessibile. jQuery ormai si &amp;egrave; guadagnato la palma di migliore e maggiormente adottata libreria, con un core molto snello e una serie di plugin di grande efficacia che aiutano molto il programmatore quando l'ambiente non consente l'uso di pi&amp;ugrave; moderni strumenti RIA. In questa sessione affronteremo jQuery, cercando di comprendere i principi che stanno alla base del suo funzionamento vedendoli applicati in un piccolo gioco sviluppato in appena 100 righe di codice. Vedremo come jQuery porti sollievo a molti dei problemi di Javascript e perch&amp;egrave; no anche quali sono i confini entro cui la sua efficacia viene meno. &lt;br /&gt; Speaker: &lt;a href="http://blog.boschin.it/" target="_blank"&gt;Andrea Boschin&lt;/a&gt; - MVP Silverlight &lt;/p&gt; &lt;p&gt;&lt;strong&gt;14:15 - Windows Azure: Getting Started &lt;br /&gt; &lt;/strong&gt;Iniziamo a mettere la testa tra le nuvole esplorando l'offerta Microsoft per il Cloud Computing. Windows Azure, SQL Azure e Windows Azure AppFabbric offrono allo sviluppatore un modo nuovo di disegnare le proprie applicazioni garantendo maggior disponibilit&amp;agrave;, scalabilit&amp;agrave; e manutenibilit&amp;agrave; a costi inferiori rispetto a quanto ottenibile con approcci di sviluppo e distribuzione tradizionali. Cosa sono e come si utilizzano sono gli aspetti su cui si baser&amp;agrave; questa sessione con l'intento finale di mostrare ai partecipanti come iniziare a utilizzare questa piattaforma. &lt;br /&gt; Speaker: &lt;a href="https://mvp.support.microsoft.com/profile/Davide.Vernole" title="Il mio profilo MVP" target="_blank"&gt;Davide Vernole&lt;/a&gt; &amp;ndash; MVP Visual Studio ALM &lt;/p&gt; &lt;p&gt;&lt;strong&gt;15:25 - XBAP Application with WPF 4.0&lt;/strong&gt; &lt;br /&gt; Le applicazioni browser XAML (XBAP) combinano le funzionalit&amp;agrave; delle applicazioni Web e delle applicazioni rich client. In modo analogo alle applicazioni Web, le applicazioni XBAP possono essere distribuite in un server Web e avviate da Internet Explorer o Firefox. Come le applicazioni rich client, le applicazioni XBAP possono trarre vantaggio dalle funzionalit&amp;agrave; di WPF. In questa sessione vedremo un'introduzione allo sviluppo di applicazioni XBAP e vengono illustrate le differenze esistenti tra lo sviluppo di questo tipo di applicazioni e lo sviluppo di applicazioni rich client standard. &lt;br /&gt; Speaker: &lt;a href="http://blogs.ugidotnet.org/dsenatore/Default.aspx" title="Il blog di Davide Senatore" target="_blank"&gt;Davide Senatore&lt;/a&gt; - MVP Client App Dev &lt;/p&gt; &lt;p&gt;&lt;strong&gt;16:50 - Potenzialit&amp;agrave; e benefici di ASP.NET MVC&lt;/strong&gt; &lt;br /&gt; ASP.NET MVC &amp;egrave; un framework sviluppato da Microsoft che permette lo sviluppo di applicazioni web utilizzando il pattern Model-View-Controller. Questo pattern si propone di apportare alcuni benefici: maggiore controllo del markup della pagina, URL pi&amp;ugrave; leggibili, facilit&amp;agrave; di integrazione con librerie javascript, chiara separazione dei ruoli/responsabilit&amp;agrave; tra layer, testabilit&amp;agrave; e manutenzione del codice... In questa sessione cercheremo di capire quali siano gli effettivi vantaggi che ASP.NET MVC porta agli sviluppatori, e quindi capire, con un occhio pratico, quali reali benefici si abbiano nell'adottare questa tecnologia. &lt;br /&gt; Speaker: &lt;a href="http://blog.dottor.net" target="_blank"&gt;Andrea Dottor&lt;/a&gt; - MVP ASP.NET &lt;/p&gt; &lt;p&gt;Registrazione: 09:00:00 &lt;br /&gt; Inizio: 09:30:00 &lt;br /&gt; Localit&amp;agrave;: Hotel Holiday Inn, Marghera (VE)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-8378306096953439570?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/pj6A46OgkCg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/8378306096953439570/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2010/10/xenet-microsoft-community-tour.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8378306096953439570?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/8378306096953439570?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/pj6A46OgkCg/xenet-microsoft-community-tour.html" title="XE.NET: Microsoft Community Tour" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2010/10/xenet-microsoft-community-tour.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ABRXk-eCp7ImA9WhdUGEk.&quot;"><id>tag:blogger.com,1999:blog-970997226714371406.post-5530401972416431228</id><published>2010-10-16T16:22:00.000+02:00</published><updated>2011-10-05T23:22:34.750+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-05T23:22:34.750+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ineta" /><category scheme="http://www.blogger.com/atom/ns#" term="Events" /><category scheme="http://www.blogger.com/atom/ns#" term="User Group" /><title>XE.NET: Quality Track</title><content type="html">&lt;p&gt;&lt;strong&gt;Microsoft Test Manager &lt;br /&gt; &lt;/strong&gt;Pianificare, testare e tracciare le attivit&amp;agrave; di testing non &amp;egrave; mai stato cos&amp;igrave; completo. Visual Studio 2010 introduce un nuovo approccio alle attivit&amp;agrave; compiute dai tester di applicazioni facilitando la stima di questa delicata parte del ciclo di vita del software. Durante la sessione impareremo a conoscere un nuovo compagno di avventura, Microsoft Test Manager (MTM), in grado di risolvere molti dei problemi che hanno da sempre afflitto il processo di test e bug fixing. Perfettamente integrato con Team Foundation Server 2010 &amp;egrave; destinato ad essere uno strumento indispensabile per la creazione di software di qualit&amp;agrave;. &lt;br /&gt; Speaker: &lt;a href="https://mvp.support.microsoft.com/profile/Davide.Vernole" title="Il mio profilo MVP" target="_blank"&gt;Davide Vernole&lt;/a&gt; (MVP Visual Studio ALM)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Ottimizzazione di un'applicazione ASP.NET &lt;br /&gt; &lt;/strong&gt;Nelle applicazioni di tutti i giorni, spesso ci scontriamo con problemi di performance, oppure siamo alla ricerca di un miglioramento che possa rendere pi&amp;ugrave; reattiva la nostra applicazione. In questa sessione vedremo come grazie all'utilizzo della cache, session, ed altri strumenti, possiamo ottimizzare il nostro sito fornendo un feedback migliore all'utente. Con esempi pratici, vedremo il beneficio di come semplici accortezze potranno migliorare notevolmente un'applicazione. Cache, session, IIS 7, routing...saranno i principali argomenti trattati. &lt;br /&gt; Speaker: &lt;a href="http://blog.dottor.net" target="_blank"&gt;Andrea Dottor&lt;/a&gt; (MVP ASP.NET)&lt;/p&gt; &lt;p&gt;Data: Gioved&amp;igrave; 4 Novembre 2010 &lt;br /&gt; Ore: 19.30 &lt;br /&gt; Luogo: Novotel Venezia Mestre Castellana &amp;ndash; Via Alfredo Ceccherini 21 &amp;ndash; 30174 Venezia Mestre&lt;/p&gt; &lt;p&gt;Per &lt;a href="http://www.xedotnet.org/Home/Meeting/20101105" target="_blank"&gt;informazioni e iscrizioni clicca qui&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/970997226714371406-5530401972416431228?l=blog.knodev.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/knodev/~4/agSvZHDx2aE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.knodev.com/feeds/5530401972416431228/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://blog.knodev.com/2010/10/xenet-quality-track.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5530401972416431228?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/970997226714371406/posts/default/5530401972416431228?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/knodev/~3/agSvZHDx2aE/xenet-quality-track.html" title="XE.NET: Quality Track" /><author><name>knodev</name><uri>http://www.blogger.com/profile/01530852618100895096</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.knodev.com/2010/10/xenet-quality-track.html</feedburner:origLink></entry></feed>

