<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnettoscana.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Around and About .NET World : C#, ASP .NET</title><link>http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/ASP+.NET/default.aspx</link><description>Tags: C#, ASP .NET</description><dc:language>it</dc:language><generator>CommunityServer 2008.5 (Build: 30912.2823)</generator><item><title>Sondaggio DotNetToscana</title><link>http://dotnettoscana.org/blogs/marco/archive/2010/07/28/sondaggio-dotnettoscana.aspx</link><pubDate>Wed, 28 Jul 2010 12:27:05 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:817</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=817</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=817</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2010/07/28/sondaggio-dotnettoscana.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://dotnettoscana.org" target="_blank"&gt;DotNetToscana&lt;/a&gt; non è mai decollata come avremmo voluto. Comunque noi non ci arrendiamo e ce la metteremo tutta per cambiare rotta ed imboccare quella giusta. Vogliamo approfittare di questa pausa estiva per riflettere sulle difficoltà ed i problemi che abbiamo incontrato più volte in questi anni e risolverli. Però per farlo al meglio abbiamo bisogno anche di sentire la vostra voce, per questo abbiamo creato un piccolo &lt;a href="http://www.surveymonkey.com/s/P3CZX9N" target="_blank"&gt;sondaggio&lt;/a&gt; grazie a cui potrte farci sapere le vostre opinioni, i vostri consigli e suggerimenti. &lt;strong&gt;L’obiettivo finale è quello di far “rinascere” DotNetToscana&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.surveymonkey.com/s/P3CZX9N" target="_blank"&gt;Clicca qui per rispondere al sondaggio&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6e06251e-2185-45e2-b5f7-b395d1a891eb" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=817" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Certificazioni/default.aspx">Certificazioni</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Team+Foundation+Server/default.aspx">Team Foundation Server</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET+_2600_+SQL/default.aspx">ADO .NET &amp; SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Updates+_2600_+Service+Pack/default.aspx">Updates &amp; Service Pack</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Tutto+_2600_+Oltre+_3A00_-_2900_/default.aspx">Tutto &amp; Oltre :-)</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/DotNetToscana/default.aspx">DotNetToscana</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programmi/default.aspx">Programmi</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Windows+Related/default.aspx">Windows Related</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/CodePlex/default.aspx">CodePlex</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Updates/default.aspx">Updates</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Windows/default.aspx">Windows</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programming/default.aspx">Programming</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Tools/default.aspx">Tools</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Live/default.aspx">Live</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/OT/default.aspx">OT</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/CS/default.aspx">CS</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/SQL/default.aspx">SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Certification/default.aspx">Certification</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Web/default.aspx">Web</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET/default.aspx">ADO .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programs/default.aspx">Programs</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_amp_3B00_+.NET+3.5/default.aspx">Orcas &amp;amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Tutto+_2600_amp_3B00_+Oltre+_3A00_-_2900_/default.aspx">Tutto &amp;amp; Oltre :-)</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Community/default.aspx">Community</category></item><item><title>Analogo di HttpContext per il mondo WCF</title><link>http://dotnettoscana.org/blogs/marco/archive/2010/07/26/analogo-di-httpcontext-per-il-mondo-wcf.aspx</link><pubDate>Mon, 26 Jul 2010 10:12:44 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:816</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=816</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=816</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2010/07/26/analogo-di-httpcontext-per-il-mondo-wcf.aspx#comments</comments><description>&lt;p&gt;Chiunque programmi in ASP .NET conosce bene l’oggetto &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.httpcontext.aspx" target="_blank"&gt;&lt;strong&gt;HttpContext&lt;/strong&gt;&lt;/a&gt;, che consente di recuperare informazioni sul contesto HTTP della richiesta corrente; in particolare, la sua proprietà statica &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.httpcontext.current.aspx" target="_blank"&gt;Current&lt;/a&gt; permette di ottenere, da qualunque punto del codice, il contesto corrente. Un suo tipico utilizzo consiste nell’inserire, all’interno della collezione &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.httpcontext.items.aspx" target="_blank"&gt;Items&lt;/a&gt;, tutti gli oggetti che devono vivere per tutta la durata della richiesta HTTP.&lt;/p&gt;  &lt;p&gt;WCF non offre “direttamente” un oggetto di questo tipo. Esso, però, mette a disposizione la proprietà &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontext.extensions.aspx" target="_blank"&gt;OperationContext.Current.Extensions&lt;/a&gt;, grazie a cui possiamo aggiungere vere e proprie “estensioni” da associare al contesto della richiesta. In questo modo, possiamo facilmente creare una classe &lt;strong&gt;WcfContext&lt;/strong&gt;, che si comporti in modo analogo a HttpContext:&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:b6f09aa0-c075-4b7e-ba31-182fa326e3cb" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#F0F0F0;overflow:auto;"&gt;&lt;span style="color:#008000;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#008000;"&gt; VB .NET&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Imports&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.ServiceModel

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Friend&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Class&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Implements&lt;/span&gt;&lt;span style="color:#000000;"&gt; IExtension(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext)

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ReadOnly&lt;/span&gt;&lt;span style="color:#000000;"&gt; m_items &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; IDictionary

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt;()
        m_items &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; Hashtable()
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ReadOnly&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Property&lt;/span&gt;&lt;span style="color:#000000;"&gt; Items() &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; IDictionary
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Get&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Return&lt;/span&gt;&lt;span style="color:#000000;"&gt; m_items
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Get&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Property&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Shared&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ReadOnly&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Property&lt;/span&gt;&lt;span style="color:#000000;"&gt; Current() &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Get&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext.Current &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Is&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Then&lt;/span&gt;&lt;span style="color:#000000;"&gt;
                &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Return&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt;

            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; extensions &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext.Current.Extensions
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Dim&lt;/span&gt;&lt;span style="color:#000000;"&gt; context &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; extensions.Find(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext)()
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt; context &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Is&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Nothing&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Then&lt;/span&gt;&lt;span style="color:#000000;"&gt;
                context &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;New&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext()
                extensions.Add(context)
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;If&lt;/span&gt;&lt;span style="color:#000000;"&gt;
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Return&lt;/span&gt;&lt;span style="color:#000000;"&gt; context
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Get&lt;/span&gt;&lt;span style="color:#000000;"&gt;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Property&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; Attach(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; owner &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Implements&lt;/span&gt;&lt;span style="color:#000000;"&gt; IExtension(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext).Attach
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt; Detach(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;ByVal&lt;/span&gt;&lt;span style="color:#000000;"&gt; owner &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;As&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext) &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Implements&lt;/span&gt;&lt;span style="color:#000000;"&gt; IExtension(&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;Of&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext).Detach
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Sub&lt;/span&gt;&lt;span style="color:#000000;"&gt;

&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;End Class&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1a4523cc-ea10-468b-b010-fdbcd009fbda" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#F0F0F0;overflow:auto;"&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; C#&lt;/span&gt;&lt;span style="color:#008000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Collections;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.Collections.Generic;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;using&lt;/span&gt;&lt;span style="color:#000000;"&gt; System.ServiceModel;

&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;exclude /&amp;gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;class&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext : IExtension&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;OperationContext&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
{
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;readonly&lt;/span&gt;&lt;span style="color:#000000;"&gt; IDictionary m_items;
    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext()
    {
        m_items &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; Hashtable();
    }

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; IDictionary Items 
    {
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt; { &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; m_items; }
    }

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;static&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext Current 
    {
        &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;get&lt;/span&gt;&lt;span style="color:#000000;"&gt; 
        {
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (OperationContext.Current &lt;/span&gt;&lt;span style="color:#000000;"&gt;==&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;)
                &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;;

            var extensions &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; OperationContext.Current.Extensions;
            WcfContext context &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; extensions.Find&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;WcfContext&lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;();
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (context &lt;/span&gt;&lt;span style="color:#000000;"&gt;==&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;) 
            {
                context &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;new&lt;/span&gt;&lt;span style="color:#000000;"&gt; WcfContext();
                extensions.Add(context);
            }
            &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; context;
        }
    }

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; Attach(OperationContext owner)
    { }

    &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;public&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000FF;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; Detach(OperationContext owner)
    { }
}
&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;La proprietà &lt;strong&gt;WcfContext.Current&lt;/strong&gt; controlla se, tra le estensioni dell’oggetto &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontext.aspx" target="_blank"&gt;OperationContext&lt;/a&gt;, ne esiste una di tipo &lt;strong&gt;WcfContext&lt;/strong&gt;; in caso positivo, la restituisce, altrimenti la crea e la aggiunge alla collezione. Questo oggetto espone poi una proprietà di nome &lt;strong&gt;Items&lt;/strong&gt; e tipo &lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.idictionary.aspx" target="_blank"&gt;IDictionary&lt;/a&gt;, che dunque si comporta esattamente come l’analogo di HttpContext.&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:038a1400-5cda-4fb9-9eea-13126dd3d015" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VB+.NET" rel="tag"&gt;VB .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=816" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Disponibile il materiale del Community Tour di DotNetToscana</title><link>http://dotnettoscana.org/blogs/marco/archive/2010/01/17/disponibile-il-materiale-del-community-tour-di-dotnettoscana.aspx</link><pubDate>Sun, 17 Jan 2010 21:42:45 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:746</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=746</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=746</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2010/01/17/disponibile-il-materiale-del-community-tour-di-dotnettoscana.aspx#comments</comments><description>&lt;p&gt;E’ finalmente disponibile online il materiale presentato durante il Community Tour di &lt;a href="http://www.dotnettoscana.org/" target="_blank"&gt;DotNetToscana&lt;/a&gt; svoltosi lo scorso 12 Gennaio. Chi è interessato può accedere all’archivio contenente le slide e gli esempi visitando la sezione &lt;a href="http://dotnettoscana.org/media/g/microsoft-community-tour-2009/default.aspx" target="_blank"&gt;Files&lt;/a&gt; del nostro sito.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a59807d-a188-4284-9d5e-6484fbc48157" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programs" rel="tag"&gt;Programs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=746" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programmi/default.aspx">Programmi</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programming/default.aspx">Programming</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Web/default.aspx">Web</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Community/default.aspx">Community</category></item><item><title>Inserire codice XML nella documentazione XML di Visual Studio</title><link>http://dotnettoscana.org/blogs/marco/archive/2010/01/15/inserire-codice-xml-nella-documentazione-xml-di-visual-studio.aspx</link><pubDate>Fri, 15 Jan 2010 09:13:49 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:726</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=726</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=726</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2010/01/15/inserire-codice-xml-nella-documentazione-xml-di-visual-studio.aspx#comments</comments><description>&lt;p&gt;Il titolo forse sembra un gioco di parole… In pratica, il problema è inserire una sezione di codice XML all’interno dei commenti di documentazione delle classi di .NET, che anch’essa è scritta in XML. In questo caso, il tag da utilizzare è&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:d75d772e-df70-461f-911d-d44daef44757" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#F0F0F0;overflow:auto;font-family:Consolas;font-size:9,75;"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;code &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;lang&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;xml&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Tuttavia, se al suo interno si scrive direttamente il codice XML, una volta generata la documentazione, ad esempio con &lt;a href="http://www.codeplex.com/SHFB" target="_blank"&gt;Sandcastle Help File Builder&lt;/a&gt;, il frammento di XML apparirà senza indentazione e “schiacciato” su una sola riga. Per mantenere la formattazione originale, è necessario racchiudere l’XML che si vuole mostrare in un tag di tipo &amp;lt;![CDATA[. Ad esempio:&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1ebdc70d-7d9d-46ea-ae84-28dedd47611e" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#F0F0F0;overflow:auto;font-family:Consolas;font-size:9,75;"&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;code &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;lang&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;=&amp;quot;xml&amp;quot;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;&amp;lt;![CDATA[&lt;/span&gt;&lt;span style="color:#808080;"&gt;
&amp;lt;config&amp;gt;
    &amp;lt;add key=&amp;quot;key1&amp;quot; value=&amp;quot;value1&amp;quot; /&amp;gt;
    &amp;lt;add key=&amp;quot;key2&amp;quot; value=&amp;quot;value2&amp;quot; /&amp;gt;
&amp;lt;/config&amp;gt;
&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;]]&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;In questo modo, la documentazione prodotta con &lt;a href="http://www.codeplex.com/Sandcastle" target="_blank"&gt;Sandcastle&lt;/a&gt; conterrà il codice XML con la formattazione originale.&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f4fe4e8f-8f99-49a3-8110-f5250942fbeb" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VB+.NET" rel="tag"&gt;VB .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Documentation" rel="tag"&gt;Documentation&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=726" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET+_2600_+SQL/default.aspx">ADO .NET &amp; SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programming/default.aspx">Programming</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET/default.aspx">ADO .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_amp_3B00_+.NET+3.5/default.aspx">Orcas &amp;amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item><item><title>Microsoft Community Tour rinviato a Gennaio</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/11/30/microsoft-community-tour-rinviato-a-gennaio.aspx</link><pubDate>Mon, 30 Nov 2009 15:11:46 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:715</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=715</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=715</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/11/30/microsoft-community-tour-rinviato-a-gennaio.aspx#comments</comments><description>&lt;p&gt;A causa di problema organizzativi, Microsoft, in accordo con &lt;a href="http://www.dotnettoscana.org/" target="_blank"&gt;DotNetToscana&lt;/a&gt;, ha deciso di rinviare la tappa del Community Tour prevista per il 9 Dicembre a Navacchio (PI). L&amp;#39;evento dovrebbe essere riproposto nei giorni 11 oppure 12 Gennaio, ma naturalmente comunicherò tempestivamente ogni aggiornamento. Mi dispiace molto per questo spostamento, sono sicuro che la prossima volta andrà tutto alla grande!&lt;/p&gt; &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4a13aa46-16dc-4c00-ab1b-67ae2e9553d2" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=715" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/DotNetToscana/default.aspx">DotNetToscana</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Gestione dei pulsanti Avanti e Indietro del browser con AJAX</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/11/27/gestione-dei-pulsanti-avanti-e-indietro-del-browser-con-ajax.aspx</link><pubDate>Fri, 27 Nov 2009 21:18:03 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:713</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=713</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=713</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/11/27/gestione-dei-pulsanti-avanti-e-indietro-del-browser-con-ajax.aspx#comments</comments><description>&lt;p&gt;Uno dei problemi che si hanno con AJAX riguarda la gestione dei pulsanti &lt;em&gt;Avanti&lt;/em&gt; e &lt;em&gt;Indietro&lt;/em&gt; del browser. Se, ad esempio, si inserisce un controllo &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.wizard.aspx" target="_blank"&gt;Wizard&lt;/a&gt; all’interno di un &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx" target="_blank"&gt;UpdatePanel&lt;/a&gt;, è possibile spostarsi tra i passaggi della procedura senza effettuare postback sincroni della pagina. Tuttavia, la pressione del pulsante &lt;em&gt;Indietro&lt;/em&gt; nel browser non causa il ritorno allo step precedente, bensì il caricamento della pagina mostrata prima di quella contenente il &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.wizard.aspx" target="_blank"&gt;Wizard&lt;/a&gt;: in altre parole, le interazioni basate su AJAX non determinano l’aggiornamento della cronologia del browser.&lt;/p&gt;  &lt;p&gt;L’oggetto &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.aspx" target="_blank"&gt;&lt;strong&gt;ScriptManager&lt;/strong&gt;&lt;/a&gt; della versione &lt;strong&gt;3.5 SP1&lt;/strong&gt; del .NET Framework introduce proprio il supporto alla cronologia del browser per le chiamate AJAX, attraverso il metodo &lt;a href="http://msdn.microsoft.com/en-us/library/cc472982.aspx" target="_blank"&gt;AddHistoryPoint&lt;/a&gt; e l’evento &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.navigate.aspx" target="_blank"&gt;Navigate&lt;/a&gt;. Dino Esposito ha scritto un esauriente &lt;a href="http://dotnetslackers.com/articles/aspnet/AFirstLookAtASPNETExtensions35HistoryPoints.aspx" target="_blank"&gt;articolo&lt;/a&gt; che spiega come utilizzare questa nuova API, che funziona indipendentemente dal browser (personalmente, ho provato con Internet Explorer e Firefox).&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5c6d9603-a7cc-40c8-8994-c4f66db8e579" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=713" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_amp_3B00_+.NET+3.5/default.aspx">Orcas &amp;amp; .NET 3.5</category></item><item><title>Sviluppare applicazioni per Linux con Visual Studio</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/11/11/sviluppare-applicazioni-per-linux-con-visual-studio.aspx</link><pubDate>Wed, 11 Nov 2009 13:39:28 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:701</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=701</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=701</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/11/11/sviluppare-applicazioni-per-linux-con-visual-studio.aspx#comments</comments><description>&lt;p&gt;La notizia è senz&amp;#39;altro interessante: Novell ha rilasciato un plug- in per Visual Studio con cui è possibile realizzare applicazioni per Linux lavorando però in ambiente Windows. Purtroppo, si tratta di un add-in a pagamento. Rimando alla &lt;a href="http://codesnippet.altervista.org/disponibile-mono-tools-per-visual-studio/" target="_blank"&gt;fonte&lt;/a&gt; per maggiori dettagli.&lt;/p&gt; &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aa9544a7-8c3c-45a8-a7b2-a35f136762ce" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=701" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Windows/default.aspx">Windows</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_amp_3B00_+.NET+3.5/default.aspx">Orcas &amp;amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item><item><title>Microsoft Community Tour in Toscana</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/10/20/microsoft-community-tour-in-toscana.aspx</link><pubDate>Tue, 20 Oct 2009 08:08:01 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:690</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=690</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=690</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/10/20/microsoft-community-tour-in-toscana.aspx#comments</comments><description>&lt;p&gt;Il 9 Dicembre si svolgerà la tappa toscana del &lt;a href="http://dotnettoscana.org/content/MicrosoftCommunityTour2009.aspx" target="_blank"&gt;&lt;strong&gt;Microsoft Community Tour 2009&lt;/strong&gt;&lt;/a&gt;. Nel corso dell&amp;#39;evento parleremo di .NET RIA Services, Silverlight, Internet Explorer 8 e ASP .NET MVC. Potete trovare l&amp;#39;agenda completa sul nostro sito, nella sezione &lt;a href="http://dotnettoscana.org/content/Eventi.aspx" target="_blank"&gt;Eventi&lt;/a&gt;. La registrazione sarà disponibile a partire da Mercoledì 28 Ottobre.&lt;/p&gt; &lt;p&gt;Vi aspetto numerosi &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/p&gt; &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1be64d99-dc7f-4830-b1d5-2b4b44cb0620" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VB+.NET" rel="tag"&gt;VB .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programs" rel="tag"&gt;Programs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=690" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programming/default.aspx">Programming</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programs/default.aspx">Programs</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Nuova sezione Tips &amp; Tricks su DotNetToscana</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/09/21/nuova-sezione-tips-amp-tricks-su-dotnettoscana.aspx</link><pubDate>Sun, 20 Sep 2009 22:18:39 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:674</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=674</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=674</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/09/21/nuova-sezione-tips-amp-tricks-su-dotnettoscana.aspx#comments</comments><description>&lt;p&gt;La nostra Community cresce… Da pochi minuti il sito &lt;a href="http://www.dotnettoscana.org/" target="_blank"&gt;DotNetToscana&lt;/a&gt; si è arricchito di una nuova sezione, &lt;a href="http://dotnettoscana.org/wikis/tips/sommario.aspx" target="_blank"&gt;&lt;strong&gt;Tips &amp;amp; Tricks&lt;/strong&gt;&lt;/a&gt;, in cui raccoglieremo trucchi e suggerimenti per risolvere i tipici problemi che si devono affrontare nel mondo della programmazione .NET.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1c8d2d9c-edcf-4a15-9cec-eb538c0ba1e5" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio" rel="tag"&gt;Visual Studio&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Basic+.NET" rel="tag"&gt;Visual Basic .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LINQ" rel="tag"&gt;LINQ&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=674" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET+_2600_+SQL/default.aspx">ADO .NET &amp; SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/DotNetToscana/default.aspx">DotNetToscana</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programming/default.aspx">Programming</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET/default.aspx">.NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/SQL/default.aspx">SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET/default.aspx">ADO .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_amp_3B00_+.NET+3.5/default.aspx">Orcas &amp;amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item><item><title>BlogEngine .NET</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/07/31/blogengine-net.aspx</link><pubDate>Fri, 31 Jul 2009 14:20:56 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:631</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=631</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=631</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/07/31/blogengine-net.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.dotnetblogengine.net/" target="_blank"&gt;&lt;strong&gt;BlogEngine .NET&lt;/strong&gt;&lt;/a&gt; è un motore di blogging realizzato in .NET. L&amp;#39;ultima versione rilasciata, la &lt;strong&gt;1.5&lt;/strong&gt;, è scaricabile da &lt;a href="http://www.codeplex.com/blogengine" target="_blank"&gt;CodePlex&lt;/a&gt; (quindi insieme al codice sorgente, scritto in C#). Avevo seguito un po&amp;#39; la nascita di questo strumento, ma poi lo avevo perso di vista: recentemente ho avuto l&amp;#39;occasione di riprenderlo in mano: supporta tutte le funzionalità tipiche di un blog engine (feed rss, motore di ricerca interno, tags con tag cloud, categorie, blog roll, temi grafici) e può essere configurato per salvare i post all&amp;#39;interno di file XML o in un database (sono supportati &lt;a href="http://www.microsoft.com/italy/server/sql/default.mspx" target="_blank"&gt;SQL Server&lt;/a&gt;, &lt;a href="http://www.mysql.it/" target="_blank"&gt;MySQL&lt;/a&gt;, &lt;a href="http://www.sqlite.org/" target="_blank"&gt;SQLite&lt;/a&gt; e &lt;a href="http://www.vistadb.net/" target="_blank"&gt;VistaDB&lt;/a&gt;). Inoltre, cosa che mi sembra molto interessante, prevede un meccanismo di estensioni, per cui basta è molto semplice aggiungere nuove funzionalità al sistema (ad esempio, inviare automaticamente una mail ad un certo indirizzo ogni volta che viene inviato un post). Infine, implementa le &lt;a href="http://www.xmlrpc.com/metaWeblogApi" target="_blank"&gt;Metaweblog API&lt;/a&gt;, quindi supporta il posting con Windows Live Writer e Word 2007.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3ad48c8d-c05c-4da1-9ec0-3daff4c3b561" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=631" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Tutto+_2600_+Oltre+_3A00_-_2900_/default.aspx">Tutto &amp; Oltre :-)</category></item><item><title>Internet Explorer 8 su ioProgrammo</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/07/20/internet-explorer-8-su-ioprogrammo.aspx</link><pubDate>Mon, 20 Jul 2009 07:49:42 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:620</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=620</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=620</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/07/20/internet-explorer-8-su-ioprogrammo.aspx#comments</comments><description>&lt;p&gt;Sul numero di Agosto di &lt;a href="http://www.ioprogrammo.it/" target="_blank"&gt;ioProgrammo&lt;/a&gt; è stato pubblicato un mio articolo sulle &lt;strong&gt;novità di Internet Explorer 8 per gli sviluppatori&lt;/strong&gt;, in cui parlo di AJAX Navigation, Web Slice, DOM Storage, la nuova Developer Toolbar, ecc. Personalmente, le novità che più mi piacciono sono AJAX Navigation, di cui mostro un possibile utilizzo in ASP .NET, e il DOM Storage, introdotto per superare il limite di 4 KB per la dimensione dei cookie.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:25df9fdf-ea6e-41d5-819a-1e80b9fdb5ad" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web" rel="tag"&gt;Web&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programs" rel="tag"&gt;Programs&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=620" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programmi/default.aspx">Programmi</category></item><item><title>web.config, mailSettings e SSL</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/07/16/web-config-mailsettings-e-ssl.aspx</link><pubDate>Thu, 16 Jul 2009 20:01:47 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:611</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=611</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=611</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/07/16/web-config-mailsettings-e-ssl.aspx#comments</comments><description>&lt;p&gt;Questa sera stavo modificando le impostazioni della sezione &lt;em&gt;mailSettings&lt;/em&gt; nel file &lt;em&gt;web.config&lt;/em&gt; di una Web Application. Volevo configurarla per utilizzare il server SMTP di &lt;a href="http://mail.google.com" target="_blank"&gt;Gmail&lt;/a&gt; per l&amp;#39;invio di mail tramite l&amp;#39;oggetto &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx" target="_blank"&gt;SmtpClient&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Come credo sappiano tutti, &lt;a href="http://mail.google.com" target="_blank"&gt;Gmail&lt;/a&gt; richiede l&amp;#39;utilizzo di SSL per l&amp;#39;invio della posta. Il problema è che la sezione &lt;em&gt;mailSettings&lt;/em&gt; del file &lt;em&gt;web.config&lt;/em&gt; non permette di indicare questo tipo di connessione. Da una rapida ricerca su Internet, sembra che diverse persone abbiano segnalato questa mancanza. Personalmente, ho risolto aggiungendo una proprietà &lt;em&gt;EnableSsl&lt;/em&gt; nella sezione &lt;em&gt;appSettings&lt;/em&gt;, che poi utilizzo in questo modo:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;SmtpClient client = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; SmtpClient();&lt;br /&gt;&lt;span style="color:#008000;"&gt;//Controlla se si deve usare Ssl per l&amp;#39;invio della Mail.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; enableSsl = Convert.ToBoolean(WebConfigurationManager.AppSettings[&lt;span style="color:#006080;"&gt;&amp;quot;EnableSsl&amp;quot;&lt;/span&gt;]);&lt;br /&gt;client.EnableSsl = enableSsl;&lt;br /&gt;&lt;span style="color:#008000;"&gt;//... Altre impostazioni...&lt;/span&gt;&lt;br /&gt;client.Send(message);&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p /&gt;

&lt;p&gt;Forse non è l&amp;#39;approccio più elegante, ma è sicuramente semplice e funzionale.&lt;/p&gt;

&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3a241be5-d91a-4686-989b-8f82dfd5ef1a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=611" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Filtri sulle pagine Dynamic Data</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/07/14/filtri-sulle-pagine-dynamic-data.aspx</link><pubDate>Tue, 14 Jul 2009 09:22:37 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:609</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=609</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=609</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/07/14/filtri-sulle-pagine-dynamic-data.aspx#comments</comments><description>&lt;p&gt;Per impostazione predefinita, un sito Dynamic Data mostra tutte le informazioni contenute nelle tabelle. Tipicamente, però, si ha la necessità di filtrare i dati sulla base di diverse condizioni (ad esempio, i diritti dell&amp;#39;utente). &lt;a href="http://blog.boschin.it/archive/2008/10/06/Dynamic-Data-Applicare-dei-filtri-impliciti.aspx" target="_blank"&gt;Questo post&lt;/a&gt; del grande Andrea Boschin spiega con semplicità come è possibile ottenere tale risultato.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:919040eb-ff65-4eb3-a6d9-5b24f4893bb3" class="wlWriterEditableSmartContent"&gt;Technorati Tag: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dynamic+Data" rel="tag"&gt;Dynamic Data&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LINQ" rel="tag"&gt;LINQ&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=609" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET+_2600_+SQL/default.aspx">ADO .NET &amp; SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Dynamic+Data/default.aspx">Dynamic Data</category></item><item><title>Aggiornamento per gli stili utilizzati da Sandcastle</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/06/22/aggiornamento-per-gli-stili-utilizzati-da-sandcastle.aspx</link><pubDate>Sun, 21 Jun 2009 23:06:06 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:580</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=580</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=580</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/06/22/aggiornamento-per-gli-stili-utilizzati-da-sandcastle.aspx#comments</comments><description>&lt;p&gt;Ultimamente sto utilizzando con una certa frequenza l&amp;#39;accoppiata &lt;a href="http://www.codeplex.com/Sandcastle" target="_blank"&gt;Sandcastle&lt;/a&gt; e &lt;a href="http://shfb.codeplex.com/" target="_blank"&gt;Sandcastle Help File Builder&lt;/a&gt; per creare la documentazione tecnica delle librerie che sviluppo. Ho così notato che gli stili predefiniti inclusi nella distribuzione di &lt;a href="http://www.codeplex.com/Sandcastle" target="_blank"&gt;Sandcastle&lt;/a&gt; non risultano completi (ad esempio, non contengono tutte le trasformazioni per il tag &lt;em&gt;&amp;lt;note&amp;gt;&lt;/em&gt;). Su &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; è però disponibile un progetto, &lt;a href="http://sandcastlestyles.codeplex.com" target="_blank"&gt;Sandcastle Styles&lt;/a&gt;, che contiene una serie di fix per gli stili di Sandcastle. L&amp;#39;ultima versione è disponibile &lt;a href="http://sandcastlestyles.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18784" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e4b34fd3-0f15-4113-8ee7-6866f0cdc798" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=580" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+Micro+Framework/default.aspx">.NET Micro Framework</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ADO+.NET+_2600_+SQL/default.aspx">ADO .NET &amp; SQL</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Programmi/default.aspx">Programmi</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item><item><title>Tracing di servizi WCF</title><link>http://dotnettoscana.org/blogs/marco/archive/2009/06/21/tracing-di-servizi-wcf.aspx</link><pubDate>Sun, 21 Jun 2009 10:04:44 GMT</pubDate><guid isPermaLink="false">ada252f7-7fca-4bac-88b6-ec47648018b0:579</guid><dc:creator>Marco Minerva</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/rsscomments.aspx?PostID=579</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://dotnettoscana.org/blogs/marco/commentapi.aspx?PostID=579</wfw:comment><comments>http://dotnettoscana.org/blogs/marco/archive/2009/06/21/tracing-di-servizi-wcf.aspx#comments</comments><description>&lt;p&gt;Quando si sviluppano o si utilizzano servizi realizzati con &lt;strong&gt;Windows Communication Foundation&lt;/strong&gt;, l&amp;#39;individuazione degli errori può essere problematica, poiché, spesso, se qualcosa non funziona si ottiene semplicemente una eccezione di tipo &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.communicationobjectfaultedexception.aspx" target="_blank"&gt;CommunicationObjectFaultedException&lt;/a&gt;, la cui descrizione contiene Il generico messaggio&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In situazioni di questo tipo, è molto utile attivare il tracing del servizio WCF, in modo da ottenere una registrazione completa di tutto quello che succede, con l&amp;#39;indicazione precisa dell&amp;#39;errore che si è verificato. Le impostazioni consigliate per abilitare tale funzionalità sono contenute nell&amp;#39;articolo &lt;a href="http://msdn.microsoft.com/en-us/library/aa702726.aspx" target="_blank"&gt;Recommended Settings for Tracing and Message Logging&lt;/a&gt; di MSDN.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:36c95e93-99af-428a-9b10-73f0ca3b2e65" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Programming" rel="tag"&gt;Programming&lt;/a&gt;, &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://technorati.com/tags/VB+.NET" rel="tag"&gt;VB .NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ASP+.NET" rel="tag"&gt;ASP .NET&lt;/a&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://dotnettoscana.org/aggbug.aspx?PostID=579" width="1" height="1"&gt;</description><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/ASP+.NET/default.aspx">ASP .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/VB+.NET/default.aspx">VB .NET</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/Orcas+_2600_+.NET+3.5/default.aspx">Orcas &amp; .NET 3.5</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+3.0/default.aspx">.NET 3.0</category><category domain="http://dotnettoscana.org/blogs/marco/archive/tags/.NET+4.0/default.aspx">.NET 4.0</category></item></channel></rss>