<?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; VS2010</title>
	<atom:link href="http://sandromark78.it/tag/vs2010/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>Novità in Visual Studio 2010 e nel .NET Framework 4.0</title>
		<link>http://sandromark78.it/informationtechnology/novita-in-visual-studio-2010-e-nel-net-framework-40/</link>
		<comments>http://sandromark78.it/informationtechnology/novita-in-visual-studio-2010-e-nel-net-framework-40/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 16:00:53 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[.Net 4.0]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[VS2010]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=286</guid>
		<description><![CDATA[Segnalo questo interessantissimo articolo che ho scovato in CodeGuro che illustra in modo davvero chiaro, immediato e veloce tutte le nuove &#8220;features&#8221; che sono &#8220;comparse&#8221; nel nuovo Microsoft Visual Studio 2010 e nella nuova release del framework .Net (4.0). Questo il link. Tweet (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} [...]]]></description>
			<content:encoded><![CDATA[<p>Segnalo questo interessantissimo <a href="http://www.codeguru.com/vb/vbnet30/article.php/c15645__1/" target="_blank">articolo</a> che ho scovato in <a href="http://www.codeguru.com" target="_blank">CodeGuro</a> che illustra in modo davvero chiaro, immediato e veloce tutte le nuove &#8220;features&#8221; che sono &#8220;comparse&#8221; nel nuovo Microsoft Visual Studio 2010 e nella nuova release del framework .Net (4.0). Questo il <a href="http://www.codeguru.com/vb/vbnet30/article.php/c15645__1/" target="_blank">link</a>.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/novita-in-visual-studio-2010-e-nel-net-framework-40/"></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-in-visual-studio-2010-e-nel-net-framework-40/" 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-in-visual-studio-2010-e-nel-net-framework-40/" 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-in-visual-studio-2010-e-nel-net-framework-40/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
	</channel>
</rss>

