<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sandromark78 &#187; .Net 3.5</title>
	<atom:link href="http://sandromark78.it/tag/net-35/feed/" rel="self" type="application/rss+xml" />
	<link>http://sandromark78.it</link>
	<description>The official blog of &#34;Sandro Marcon&#34;</description>
	<lastBuildDate>Wed, 07 Apr 2010 21:34:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>.Net, class library e web services</title>
		<link>http://sandromark78.it/informationtechnology/net-class-library-e-web-services/</link>
		<comments>http://sandromark78.it/informationtechnology/net-class-library-e-web-services/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 17:00:24 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[webservices]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=258</guid>
		<description><![CDATA[Descriviamo un po&#8217; la situazione in cui ci troviamo: abbiamo un web service (sviluppato in ASP.Net); vogliamo realizzare una libreria (class library .Net 3.5) per offrire una sorta di &#8220;interfaccia comune&#8221; verso il web service in modo tale che qualsiasi applicazione (in particolare applicazioni &#8220;stand alone&#8221; .Net) possa richiamare i servizi esposti senza troppi &#8220;grattacapi&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>Descriviamo un po&#8217; la situazione in cui ci troviamo:</p>
<ul>
<li>abbiamo un web service (sviluppato in <a href="http://www.asp.net/" target="_blank">ASP.Net</a>);</li>
<li>vogliamo realizzare una libreria (class library .Net 3.5) per offrire una sorta di &#8220;interfaccia comune&#8221; verso il web service in modo tale che qualsiasi applicazione (in particolare applicazioni &#8220;stand alone&#8221; .Net) possa richiamare i servizi esposti senza troppi &#8220;grattacapi&#8221;.</li>
</ul>
<p>Come si dovrebbe procedere: da Visual Studio (2008 SP1), nel progetto della nostra class library, si passa alla creazione di un &#8220;web-reference&#8221; (in relazione al web service in questione). Non serve fare altro: sulla carta non è necessaria alcuna particolare operazione sul progetto dell&#8217;applicazione che utilizza la nostra nuova class library. In realtà, se compilate ed eseguite il programma, potrete vedere da voi stessi che l&#8217;applicativo non è in grado di collegarsi al web service.</p>
<p>Qui di seguito il messaggio contenuto nell&#8217;eccezzione che viene generata quando tentate di accedere al web service: &#8220;<em>Could not find default endpoint element that references contract &#8216;___&#8217; in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.</em>&#8221;</p>
<p>Motivo? Diciamo che i &#8220;riferimenti&#8221; o (entry point) al web service non vengono &#8220;copiati&#8221; dalla class library all&#8217;applicazione che la utilizza. Questi riferimenti sono contenuti nel file <em>.config</em> della class library (in dettaglio possiamo trovare tutte le informazioni all&#8217;interno del tag &lt;<em>system.serviceModel</em>&gt;). Il file <em>.config</em> della class libray, purtroppo, non &#8220;segue&#8221; la libreria nell&#8217;applicazione che la utilizza (se andate a vedere nella cartella <em>bin </em>del vostro applicativo, troverete solo il fiel <em>.config</em> relativo  a quest&#8217;ultimo).</p>
<p>Il problema è aggirabile manualmente: basta copiare tutto il contenuto del tag &lt;system.serviceModel&gt; dal file <em>.config</em> della class library a quello dell&#8217;applicazione (operazione fattibile ma assai scocciante).</p>
<p>Qui di seguito un esempio della parte da copiare.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;system.serviceModel&gt;
&lt;bindings&gt;
&lt;basicHttpBinding&gt;
&lt;binding name=&quot;WebServiceSoap&quot; closeTimeout=&quot;00:01:00&quot; openTimeout=&quot;00:01:00&quot; receiveTimeout=&quot;00:10:00&quot; sendTimeout=&quot;00:01:00&quot; allowCookies=&quot;false&quot; bypassProxyOnLocal=&quot;false&quot; hostNameComparisonMode=&quot;StrongWildcard&quot; maxBufferSize=&quot;65536&quot; maxBufferPoolSize=&quot;524288&quot; maxReceivedMessageSize=&quot;65536&quot; messageEncoding=&quot;Text&quot; textEncoding=&quot;utf-8&quot; transferMode=&quot;Buffered&quot; useDefaultWebProxy=&quot;true&quot;&gt;
&lt;readerQuotas maxDepth=&quot;32&quot; maxStringContentLength=&quot;8192&quot; maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxNameTableCharCount=&quot;16384&quot; /&gt;
&lt;security mode=&quot;None&quot;&gt;
&lt;transport clientCredentialType=&quot;None&quot; proxyCredentialType=&quot;None&quot; realm=&quot;&quot; /&gt;
&lt;message clientCredentialType=&quot;UserName&quot; algorithmSuite=&quot;Default&quot; /&gt;
&lt;/security&gt;
&lt;/binding&gt;
&lt;/basicHttpBinding&gt;
&lt;/bindings&gt;
&lt;client&gt;
&lt;endpoint address=&quot;http://_/_.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;WebServiceSoap&quot; contract=&quot;_&quot; name=&quot;_&quot; /&gt;
&lt;/client&gt;
&lt;/system.serviceModel&gt;
</pre>
<p>Per poter &#8220;scrivere&#8221; nel file <em>.config</em> dell&#8217;applicazione andate nel <em>Solution Explorer</em> del Visual Studio: tasto destro del mouse sul progetto in questione, andate alla voce <em>Add</em> nel menù che via appare  ed a questo punto cliccate sulla voce <em>New Item</em>.</p>
<p style="text-align: center;"><img class="size-full wp-image-266 aligncenter" title="Add-NewItem" src="http://sandromark78.it/wp-content/uploads/vsaddnewitem.png" alt="Add-NewItem" width="386" height="605" /></p>
<p>A questo punto vi apparirà una nuova finestra: selezionate <em>General</em> nella parte sinistra ed <em>Application Configuration File</em> in quella destra. Qui di seguito un&#8217;immagine che illustra le operazioni appena elencate.</p>
<p style="text-align: center;"><img class="size-full wp-image-268 aligncenter" title=".config file " src="http://sandromark78.it/wp-content/uploads/vsaddnewitemconfig.png" alt=".config file " width="690" height="427" /></p>
<p>Bene! Tutto il contenuto del nuovo file <em>.config</em> (che  ritroverete nella lista dei file del vostro progetto) sarà ricopiato nel file <em>.config</em> &#8220;ufficiale&#8221; dell&#8217;applicazione.</p>
<p>Il problema sembra essere ben conosciuto, ma al momento non ho letto ancora nulla in merito ad una sua soluzione nel futuro <a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" target="_blank">Visual Studio 2010</a>. Ho letto che la gestione dei file <em>.config</em> è stata migliorata permettendo una sorta di &#8220;diversificazione&#8221; tra <em>debug</em> e <em>release</em>, ma nulla circa il problema qui sopra evidenziato.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/net-class-library-e-web-services/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/net-class-library-e-web-services/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/net-class-library-e-web-services/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/net-class-library-e-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WindowsForms e chiusura dell&#8217;applicazione</title>
		<link>http://sandromark78.it/informationtechnology/windowsforms-e-chiusura-dellapplicazione/</link>
		<comments>http://sandromark78.it/informationtechnology/windowsforms-e-chiusura-dellapplicazione/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 10:06:49 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=149</guid>
		<description><![CDATA[Della serie “non si finisce mai di imparare”. L’argomento in questione sono le WindowsForm del framework Microsoft .NET. Il soggetto, nel dettaglio, la funzione Application.Exit. Ieri ho scoperto che invocare la funzione sopra citata all’interno del costruttore della finestra non porta ai risultati per cui la funzione è stata realizzata. A pensarci un attimo la [...]]]></description>
			<content:encoded><![CDATA[<p>Della serie “non si finisce mai di imparare”.</p>
<p>L’argomento in questione sono le WindowsForm del framework Microsoft .NET. Il soggetto, nel dettaglio, la funzione <strong>Application.Exit</strong>.</p>
<p>Ieri ho scoperto che invocare la funzione sopra citata all’interno del costruttore della finestra non porta ai risultati per cui la funzione è stata realizzata. A pensarci un attimo la cosa è anche ovvia, ma al momento di scrivere il codice, quasi mai affiorano alla mente gli eventuali “back side effects”.</p>
<p>Qui di seguito il codice originale.</p>
<pre class="brush: csharp; title: ; notranslate">
using System;
using System.Windows.Forms;

namespace test
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();

try
{
// ...
}
catch(Exception)
{
Application.Exit();
}
}
}
}
</pre>
<p>Come aggirare la cosa? Abbastanza semplice, e direi anche, molto spesso la via è facilmente percorribile: basta spostare il nostro codice “incriminato” nella funzione “allacciata” all&#8217;evento <strong>load</strong> della form stesa. All&#8217;interno di questo evento il metodo <strong>exit</strong> funziona correttamente in quanto, una volta che il costruttore della classe form ha terminato, la coda dei messaggi è attiva e, finalmente, può processare il messaggio generato dalla exit.</p>
<p>Qui di seguito il codice aggiornato.</p>
<pre class="brush: csharp; title: ; notranslate">
using System;
using System.Windows.Forms;

namespace test
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
}

private void FormMain_Load(object sender, EventArgs e)
{
try
{
// ...
}
catch(Exception)
{
Application.Exit();
}
}
}
</pre>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/windowsforms-e-chiusura-dellapplicazione/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/windowsforms-e-chiusura-dellapplicazione/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/windowsforms-e-chiusura-dellapplicazione/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/windowsforms-e-chiusura-dellapplicazione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8230;ancora sulla classe Process (System.Diagnostics)</title>
		<link>http://sandromark78.it/informationtechnology/ancora-sulla-classe-process-systemdiagnostics/</link>
		<comments>http://sandromark78.it/informationtechnology/ancora-sulla-classe-process-systemdiagnostics/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 16:53:13 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 3.5]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=113</guid>
		<description><![CDATA[Della serie: quando ci si aspetta che le cose funzionino in ben altro modo! In sostanza, quando lanciamo dalla nostra applicazione .Net un altro processo tramite la classe Process, possiamo benissimo &#8220;schematizzare&#8221; il funzionamento come un thread che controlla l&#8217;andamento del programma concorrente. Consideriamo il seguente codice allora. Nella situazione sopra proposta, una volta che [...]]]></description>
			<content:encoded><![CDATA[<p>Della serie: quando ci si aspetta che le cose funzionino in ben altro modo!</p>
<p>In sostanza, quando lanciamo dalla nostra applicazione <em>.Net</em> un altro processo tramite la classe Process, possiamo benissimo &#8220;schematizzare&#8221; il funzionamento come un thread che controlla l&#8217;andamento del programma concorrente.</p>
<p>Consideriamo il seguente codice allora.</p>
<pre class="brush: csharp; title: ; notranslate">
OtherProcess = new Process();

OtherProcess.StartInfo.FileName = &quot;OtherProcess.exe&quot;;
OtherProcess.StartInfo.Arguments = &quot;/someParameters&quot;;
OtherProcess.Exited += delegate(object sender, EventArgs e) { otherProcessTerminated(); };
OtherProcess.EnableRaisingEvents = true;

OtherProcess.Start();
</pre>
<p>Nella situazione sopra proposta, una volta che l&#8217;applicazione <em>OtherProcess.exe</em> termina verrà lanciato l&#8217;evento <em>Exited</em> che porterà all&#8217;esecuzione del relativo delegate e, per finire, alla chiamata della funzione <em>otherProcessTerminated</em>.</p>
<p>E fin qui nulla da obbiettare. La domanda è: in che modo viene &#8220;gestito&#8221; l&#8217;evento? Mi sarei aspettato che venisse messo in coda e processato ordinatamente (nel <em>Main thread</em>) dopo quanti lo precedevano. In realtà ciò non avviene, ma è lo stesso thread creato appositamente dalla classe <em>Process</em> che si prende in carico anche l&#8217;esecuzione del delegate, generando delle &#8220;race condition&#8221; che portano a side effects quasi mai considerati in fase di sviluppo.</p>
<p>Come poter aggirare la cosa, che risulta assai sgradevole se si è fatto di tutto al fine di evitare problemi di concorrenza? Molto semplice: prima di invocare il metodo <em>Start</em>, aggiungete la seguente linea di codice.</p>
<pre class="brush: csharp; title: ; notranslate">
OtherProcess.SynchronizingObject = this;
</pre>
<p>Ovviamente il puntatore <em>this</em> dovrà far riferimento ad un controllo <em>WindowsForm</em> in grado di &#8220;gestire&#8221; i messaggi (per dirlo con terminologia Win32).</p>
<p>Qui la documentazione relativa alla proprietà <em><a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.process.synchronizingobject.aspx" target="_blank">SynchronizingObject</a></em> della classe <em><a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx" target="_blank">System.Diagnostics.Process</a></em>.</p>
<p>P.s.: per questo post si ringrazia il Sig. <strong>Botsutoshi</strong> per il suo indispensabile contributo.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/ancora-sulla-classe-process-systemdiagnostics/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/ancora-sulla-classe-process-systemdiagnostics/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/ancora-sulla-classe-process-systemdiagnostics/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/ancora-sulla-classe-process-systemdiagnostics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L&#8217;evento Exited nella classe Process (System.Diagnostics)</title>
		<link>http://sandromark78.it/informationtechnology/levento-exited-nella-clsse-process-systemdiagnostics/</link>
		<comments>http://sandromark78.it/informationtechnology/levento-exited-nella-clsse-process-systemdiagnostics/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 10:27:22 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 3.5]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=98</guid>
		<description><![CDATA[Della serie: come perdere più di un mese di sviluppo per arrivare pure ad avere una soluzione a dir poco orribile! Lasciamo perdere i vari ricorsi storici… parliamo invece del namespace System.Diagnostics. Tale “libreria” .Net contiene un’utilissima classe chiamata Process. Attraverso un oggetto di questo tipo possiamo lanciare “in parallelo” altri processi e, soprattutto, possiamo [...]]]></description>
			<content:encoded><![CDATA[<p>Della serie: come perdere più di un mese di sviluppo per arrivare pure ad avere una soluzione a dir poco orribile!</p>
<p>Lasciamo perdere i vari ricorsi storici… parliamo invece del namespace <em>System.Diagnostics</em>. Tale “libreria” <em>.Net</em> contiene un’utilissima classe chiamata <a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx" target="_blank">Process</a>. Attraverso un oggetto di questo tipo possiamo lanciare “in parallelo” altri processi e, soprattutto, possiamo in qualche modo controllarne il loro avanzamento.</p>
<p>D’indubbia utilità è l’evento <em>Exited</em>: viene invocato quando il relativo processo termina permettendomi di mantenere l’applicazione chiamante “event oriented” ed evitando la necessità di realizzare un orribile polling a tempo (magari pilotato da qualche bel timer) al fine &#8220;checcare&#8221; lo stato dell&#8217;applicazione lanciata.</p>
<p>Attenzione però: tal evento viene generato solo se la proprietà <em>EnableRaisingEvents</em> viene precedentemente settata a <em>true</em>. La relativa documentazione nel portale <a href="http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx" target="_blank">MSDN</a> è fatta bene, ma se, come me, non si legge con attenzione… <img src='http://sandromark78.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/levento-exited-nella-clsse-process-systemdiagnostics/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/levento-exited-nella-clsse-process-systemdiagnostics/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/levento-exited-nella-clsse-process-systemdiagnostics/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/levento-exited-nella-clsse-process-systemdiagnostics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prossimo grande evento di 1nn0va</title>
		<link>http://sandromark78.it/events/prossimo-grande-evento-di-1nn0va/</link>
		<comments>http://sandromark78.it/events/prossimo-grande-evento-di-1nn0va/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 11:50:27 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[1nn0va]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[public events]]></category>
		<category><![CDATA[XE.NET]]></category>

		<guid isPermaLink="false">http://sandromark78.it/uncategorized/prossimo-grande-evento-di-1nn0va/</guid>
		<description><![CDATA[Dopo mesi di inattività torno ad aggiornare il mio povero ed umile blog. Purtroppo gli impegni del periodo sono molti (sto tenendo un corso di Microsoft Office VISIO nelle sedi IAL di Pordenone e di Udine). Mi preme però segnalarvi il prossimo super evento di 1nn0va: lo abbiamo chiamato WebCongress e prevede ben 4 ore [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo mesi di inattività torno ad aggiornare il mio povero ed umile blog. Purtroppo gli impegni del periodo sono molti (sto tenendo un corso di <a href="http://office.microsoft.com/it-it/visio/FX100487861040.aspx" target="_blank">Microsoft Office VISIO</a> nelle sedi <a href="http://www.ialweb.it/" target="_blank">IAL </a>di Pordenone e di Udine).</p>
<p>Mi preme però segnalarvi il prossimo super evento di <a href="http://www.1nn0va.net" target="_blank">1nn0va</a>: lo abbiamo chiamato <em><strong>WebCongress</strong></em> e prevede ben 4 ore di conferenze (3 interventi in totale)!</p>
<p>La serata è stata organizzata in strettissima collaborazione con i nostri amici di <a href="http://www.xedotnet.org/" target="_blank">XeDotNet</a>. Per l&#8217;eccezionalità dell&#8217;evento è stato anche &#8220;messo in piedi&#8221; un <a href="http://webcongress.xedotnet.org/" target="_blank" class="broken_link">mini-sito</a> ove potete trovare tutti i dettagli dei vari interventi, i relativi speaker, la location ed il modulo d&#8217;iscrizione.</p>
<p>Ovviamente e come sempre, la serata è aperta a tutti e la partecipazione è GRATUITA!</p>
<p>Il consiglio è, ovviamente, di non mancare! <img src='http://sandromark78.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/events/prossimo-grande-evento-di-1nn0va/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/events/prossimo-grande-evento-di-1nn0va/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/events/prossimo-grande-evento-di-1nn0va/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/events/prossimo-grande-evento-di-1nn0va/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novità Microsoft .Net Framework 3.5 e Visual Studio 2008</title>
		<link>http://sandromark78.it/informationtechnology/novita-microsoft-net-framework-35-e-visual-studio-2008/</link>
		<comments>http://sandromark78.it/informationtechnology/novita-microsoft-net-framework-35-e-visual-studio-2008/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 12:24:49 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 3.5]]></category>
		<category><![CDATA[VS2008]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=25</guid>
		<description><![CDATA[Segnalo questo interessantissimo post di Raffaele Rialdi (MVP di Microsoft) che riporta una serie di utilissimi link per capire le novità del Microsoft .Net Framework 3.5 e del Visual Studio 2008. Come potrete leggere dal suo articolo, presto pubblicherà anche le novità riguardanti la programmazione nativa in C++ su Visual Studio 2008&#8230; e spero che [...]]]></description>
			<content:encoded><![CDATA[<p>Segnalo questo interessantissimo <a href="http://blogs.ugidotnet.org/raffaele/archive/2007/11/22/89866.aspx" target="_blank">post</a> di <a href="http://blogs.ugidotnet.org/raffaele/Default.aspx" target="_blank">Raffaele Rialdi</a> (MVP di Microsoft) che riporta una serie di utilissimi link per capire le novità del <em>Microsoft .Net Framework 3.5</em> e del <em>Visual Studio 2008</em>. Come potrete leggere dal suo articolo, presto pubblicherà anche le novità riguardanti la programmazione nativa in <em>C++</em> su <em>Visual Studio 2008</em>&#8230; e spero che le renda on-line quanto prima <img src='http://sandromark78.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Chi conosce Raffaele Rialdi può facilmente immaginare il livello di qualità dei link da lui segnalati <img src='http://sandromark78.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/novita-microsoft-net-framework-35-e-visual-studio-2008/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/novita-microsoft-net-framework-35-e-visual-studio-2008/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/novita-microsoft-net-framework-35-e-visual-studio-2008/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/novita-microsoft-net-framework-35-e-visual-studio-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

