<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title>Alessio Pambianchi</title>
        <link>http://blogs.ugidotnet.org/alessio_blog/Default.aspx</link>
        <description>ASP.NET AJAX ricerche-condivisione</description>
        <language>it-IT</language>
        <copyright>Alessio Pambianchi</copyright>
        <generator>Subtext Version 2.1.0.3</generator>
        <image>
            <title>Alessio Pambianchi</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/alessio_blog/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/feedburner/xKrT" type="application/rss+xml" /><item>
            <title>[OT] La Rai sul sito ufficiale di silverlight.</title>
            <category>Off Topic</category>
            <link>http://feedproxy.google.com/~r/feedburner/xKrT/~3/sxpNm1prq9o/ot-la-rai-sul-sito-ufficiale-di-silverlight.aspx</link>
            <description>&lt;div style="margin: 0px; padding: 0px 0px 4px 8px; float: right;" class="wlWriterHeaderFooter"&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = "http://blogs.ugidotnet.org/alessio_blog/archive/2009/02/23/ot-la-rai-sul-sito-ufficiale-di-silverlight.aspx";digg_title = "[OT] La Rai sul sito ufficiale di silverlight.";digg_bgcolor = "#FFFFFF";digg_skin = "normal";]]&gt;&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;]]&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;Ok non è che sia sta grandissima notizia comunque &lt;a href="http://silverlight.net/default.aspx" title="Silverlight Official"&gt;Fico&lt;/a&gt;!!!!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/OTLaRaisulsitoufficialedisilverlight_F15B/image_2.png"&gt;&lt;img height="174" border="0" width="469" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/OTLaRaisulsitoufficialedisilverlight_F15B/image_thumb.png" alt="image" style="border-width: 0px; display: inline;" title="image" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; Tags: &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;Silverlight&lt;/a&gt; &lt;a rel="tag" href="http://technorati.com/tag/Rai"&gt;Rai&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessio_blog/aggbug/95532.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessio Pambianchi</dc:creator>
            <guid isPermaLink="false">http://blogs.ugidotnet.org/alessio_blog/archive/2009/02/23/ot-la-rai-sul-sito-ufficiale-di-silverlight.aspx</guid>
            <pubDate>Mon, 23 Feb 2009 16:09:51 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessio_blog/comments/95532.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessio_blog/archive/2009/02/23/ot-la-rai-sul-sito-ufficiale-di-silverlight.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessio_blog/comments/commentRss/95532.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessio_blog/services/trackbacks/95532.aspx</trackback:ping>
        <feedburner:origLink>http://blogs.ugidotnet.org/alessio_blog/archive/2009/02/23/ot-la-rai-sul-sito-ufficiale-di-silverlight.aspx</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/AlessioPambianchi/~3/7RLs2e7yogM/ot-la-rai-sul-sito-ufficiale-di-silverlight.aspx</feedburner:origLink></item>
        <item>
            <title>VS 2008 la sorpresa nella bin</title>
            <category>MS - System</category>
            <link>http://feedproxy.google.com/~r/feedburner/xKrT/~3/xlDrBx70NGs/vs-2008-la-sorpresa-nella-bin.aspx</link>
            <description>&lt;div class="wlWriterHeaderFooter" style="margin: 0px; padding: 0px 0px 4px 8px; float: right;"&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = "http://blogs.ugidotnet.org/alessio_blog/archive/2009/01/28/vs-2008-la-sorpresa-nella-bin.aspx";digg_title = "VS 2008 la sorpresa nella bin";digg_bgcolor = "#FFFFFF";digg_skin = "normal";]]&gt;&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;&lt;![CDATA[igg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;]]&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;Ciao a tutti, da un po di tempo (due giorni) sono alle prese con un problema che affligge il mio VS 2008, ma anche quello del mio collega, non ho solo io il desktop &lt;span style="text-decoration: line-through;"&gt;impossesato&lt;/span&gt; posseduto! ;) &lt;/p&gt;
&lt;p&gt;Visto e considerato che si tratta di uno strano comportamento sottopongo alla vostra attenzione i passi per replicare la stranezza:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Creare una nuova soluzione in visual studio. &lt;/li&gt;
    &lt;li&gt;Aggiungere un progetto di tipo “&lt;strong&gt;CLass Library&lt;/strong&gt;”. &lt;/li&gt;
    &lt;li&gt;Aggiungere un progetto di tipo “&lt;strong&gt;ASP.NET Web Application&lt;/strong&gt;”. &lt;/li&gt;
    &lt;li&gt;Predisponete un path di rete con all’interno le seguenti dll : &lt;strong&gt;Microsoft.SharePoint.dll&lt;/strong&gt;, &lt;strong&gt;Microsoft.SharePoint.Search.dll&lt;/strong&gt;, &lt;strong&gt;Microsoft.SharePoint.Security.dll&lt;/strong&gt;, con i relativi xml (Microsoft.Sharepoint.xml, Microsoft.sharepoint.Search.xml, Microsoft.sharepoint.Security.xml). &lt;/li&gt;
    &lt;li&gt;Aggiungete al progetto di tipo “&lt;strong&gt;Class Library&lt;/strong&gt;” una referenza a &lt;strong&gt;Microsoft.SharePoint.dll&lt;/strong&gt; che deve puntare al path di rete predisposto al passo 4, per fare un esempio il percorso alla dll potrebbe essere “&lt;strong&gt;\\myserver\libraries\sharepoint\Microsoft.SharePoint.dll&lt;/strong&gt;” ricordatevi che nelle proprietà della libreria importata dovete settare il flag “&lt;strong&gt;Copy Local&lt;/strong&gt;” come false. &lt;/li&gt;
    &lt;li&gt;Aggiungere al progetto di tipo “&lt;strong&gt;ASP.NET Web Application&lt;/strong&gt;” una referenza al progetto di tipo “&lt;strong&gt;Class Library&lt;/strong&gt;” (la referenza deve essere aggiunta a partire dal tab &lt;strong&gt;Projects&lt;/strong&gt; nella form di inserimento delle referenze). &lt;/li&gt;
    &lt;li&gt;Compilate il Progetto di tipo “&lt;strong&gt;ASP.NET Web Application&lt;/strong&gt;” &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ora se aprite la Bin del progetto di tipo “&lt;strong&gt;ASP.NET Web Application&lt;/strong&gt;” notate la presenza di quattro file che non dovrebbero esserci:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Microsoft.SharePoint.Search.dll &lt;/li&gt;
    &lt;li&gt;Microsoft.SharePoint.Search.xml &lt;/li&gt;
    &lt;li&gt;Microsoft.SharePoint.Security.dll &lt;/li&gt;
    &lt;li&gt;Microsoft.SharePoint.Security.xml &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Il problema non si verifica in tutte le installazioni di Visual Studio ad esempio un’altro collega non è riuscito a replicarlo, ho importato i sui settings nel mio Visual Studio ma lo strano comportamento rimane nella mia installazione, poi non c’è nessunissima riga di codice che chiami in causa le dll sopracitate. Secondo avevo resharper installato l’ho disinstallato ma il problema persiste. Infine utilizzo Visual Basic come linguaggio per le mie aplpicazioni (non ho verificato in C#).&lt;/p&gt;
&lt;p&gt;Tags: &lt;a href="http://technorati.com/tag/Visual Studio 2008" rel="tag"&gt;Visual Studio 2008&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessio_blog/aggbug/95323.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessio Pambianchi</dc:creator>
            <guid isPermaLink="false">http://blogs.ugidotnet.org/alessio_blog/archive/2009/01/28/vs-2008-la-sorpresa-nella-bin.aspx</guid>
            <pubDate>Wed, 28 Jan 2009 09:34:29 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessio_blog/comments/95323.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessio_blog/archive/2009/01/28/vs-2008-la-sorpresa-nella-bin.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessio_blog/comments/commentRss/95323.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessio_blog/services/trackbacks/95323.aspx</trackback:ping>
        <feedburner:origLink>http://blogs.ugidotnet.org/alessio_blog/archive/2009/01/28/vs-2008-la-sorpresa-nella-bin.aspx</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/AlessioPambianchi/~3/AKuSYE4C_Wk/vs-2008-la-sorpresa-nella-bin.aspx</feedburner:origLink></item>
        <item>
            <title>Deep Dive into ASP.NET Session</title>
            <category>ASP.NET AJAX</category>
            <link>http://feedproxy.google.com/~r/feedburner/xKrT/~3/F6LvjJgoEHY/deep-dive-into-asp.net-session.aspx</link>
            <description>&lt;p&gt;Sebbene personalmente non ami particolarmente l'uso della sessione nelle &lt;strong&gt;web-application&lt;/strong&gt;, spesso essa viene utilizzata anche perchè non si può fare altrimenti. La seconda affermazione (spesso viene utilizzata) spiega il perchè di questo post, difronte infatti ad un'applicazione che ne faceva un largo uso ho cercato di capirne il funzionamento nei suoi dettagli.&lt;/p&gt;
&lt;p&gt;Partiamo dal fondo dalla sua definizione formale, la sessione così come la conosciamo è definita dall' &lt;a title="rfc 2109" target="_blank" href="http://www.ietf.org/rfc/rfc2109.txt"&gt;HTTP State Management Mechanism&lt;/a&gt; &lt;a title="Request For Comment" target="_blank" href="http://it.wikipedia.org/wiki/Request_for_Comments"&gt;RFC&lt;/a&gt;. Essa infatti:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This document specifies a way to create a stateful session with HTTP requests and responses.It describes two new headers, Cookie and Set-Cookie, which carry state information between participating origin servers and user agents. The method described here differs from Netscape's Cookie proposal,but it can interoperate with HTTP/1.0 user agents that use Netscape's method. (See the HISTORICAL section.)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sostanzialmente per quello che riguarda &lt;strong&gt;ASP.NET&lt;/strong&gt; senza addentrarci troppo nei dettagli della RFC 2109 vi riporto una semplice e sommaria descrizione di come le cose funzionano, &lt;/p&gt;
&lt;p&gt;Il &lt;strong&gt;Server&lt;/strong&gt; si occupa di generare una nuova sessione (se necessario), mantienere la sessione e l'elimina all'occorrenza. &lt;/p&gt;
&lt;p&gt;Il &lt;strong&gt;Client&lt;/strong&gt; si occupa di ricordare al &lt;strong&gt;Server&lt;/strong&gt; quale è la sessione che lo riguarda.&lt;/p&gt;
&lt;p&gt;Come si può notare la maggior parte del lavoro è portata avanti dal Server, il gioco è basato su di uno scambio costante, tra il Client ed il Server, di particolari Cookie (non sono come i classici cookie salvati nel hard-disk del client), il Server alla generazione della nuova sessione inserisce nella response un header in più, il &lt;em&gt;&lt;strong&gt;Set-Cookie&lt;/strong&gt;&lt;/em&gt;. Il Client per confermare al Server il mantenimento della sessione inserisce un header in più nella &lt;strong&gt;Request&lt;/strong&gt; fatta, il &lt;strong&gt;&lt;em&gt;Cookie&lt;/em&gt;&lt;/strong&gt;. Il &lt;strong&gt;Set-Cookie&lt;/strong&gt; viene conservato nella cache del Client (se sbaglio correggetemi :| ).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;NB&lt;/strong&gt;. Questa descrizione è una mia libera interpretazione per avere un quadro certo sul funzionamento della RFC basta leggersela.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;Dopo questa breve descrizione vediamo in pratica come verificare i concetti espressi sin d'ora. Quello che ci serve è una Web-App che generi una nuova sessione :) e di un tool che effettui dello sniffing per verificare il contenuto delle Request e delle Response passate tra il Client ed il Server.&lt;/p&gt;
&lt;p&gt;Partiamo dalla prima cosa, per questo apro &lt;a title="VWD" target="_blank" href="http://www.microsoft.com/express/vwd/"&gt;Microsoft Visual Web Developer 2008 Expr. Ed.&lt;/a&gt; creo una nuova ASP.NET Web Application.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default.aspx&lt;/strong&gt;:&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-style: none; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="background-color: rgb(255, 255, 0);"&gt;&amp;lt;%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="SessionTest._Default" %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;DOCTYPE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;html&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;html&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;head&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="server"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;head&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  10:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;form&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="form1"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;="server"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  11:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  12:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  13:&lt;/span&gt;         &lt;span style="background-color: rgb(255, 255, 0);"&gt;&amp;lt;%&lt;/span&gt;Response.Write(Session.SessionID)% &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  14:&lt;/span&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  15:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  16:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;form&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  17:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;  18:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;html&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Default.aspx.vb:&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-style: none; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; Partial Public Class _Default&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;     Inherits System.Web.UI.Page&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;         Session("TestSession") = "Test Della Sessione"&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;     End Sub&lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;
&lt;pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: rgb(244, 244, 244); width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"&gt;&lt;span style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt; End Class&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Nel code-behind genero una nuova sessione con l'assegnazione al'oggetto Session("TestSession") un valore stringa qualsiasi vedi linea 4 del file Default.aspx.vb, nel file Default.aspx visualizzo l'ID della sessione appena generata nel Server. Per verificare lo scambio di Set-Cookie e Cookie tra Server e Client utilizziamo &lt;a target="_blank" href="http://getfirebug.com/"&gt;Firebug&lt;/a&gt;, abilito quindi il "Support For Network Monitoring",  premiamo F5 nel Web Developer per attivare il debug. Quello che succede poi vine mostrato nell'immagine sotto:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/DeepDiveintoASP.NETSession_12014/image_4.png"&gt;&lt;img height="514" width="585" border="0" style="border: 0px none ;" alt="Firebug Request Response Header" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/DeepDiveintoASP.NETSession_12014/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Evidenziate in rosso l'Id della Sessione visualizzato nella pagina (primo in alto) ed il Set-Cookie nell Header (intestazione) della Response passato al Client dal Server (secondo riquadro in basso).&lt;/p&gt;
&lt;p&gt;Ora per vedere l'Header Cookie Passato dal Client al Server basta effettuare un refresh della pagina:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/DeepDiveintoASP.NETSession_12014/image_6.png"&gt;&lt;img height="530" width="589" border="0" style="border: 0px none ;" alt="Firebug Request Response Header" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/DeepDiveintoASP.NETSession_12014/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questo caso il secondo riquadro rosso nell'immagine sopra mostra l'Header Cookie aggiunto nella Request fatta dal Client al Server.&lt;/p&gt;
&lt;p&gt;Tra i vari problemi legati a questo tipo di teconoliga possimao evidenziarne uno introdotto con l'utilizzo dei Tab nei moderni browser, se infatti aprissi un nuovo tab nell'istanza precedente di Firefox e navigassi fino alla stessa risorsa mi accorgerei che:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/DeepDiveintoASP.NETSession_12014/image_8.png"&gt;&lt;img height="278" width="597" border="0" style="border: 0px none ;" alt="Split Browser in action" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/alessio_blog/WindowsLiveWriter/DeepDiveintoASP.NETSession_12014/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;viene visualizzato lo stesso numero di sessione (riquadro rosso), di conseguenza in uno scenario complesso se effettuassi modifiche che hanno impatto nella sessione, nel tab in alto, poi nel tab che sta sotto mi troverei lo stato della sessione modificato (note l'immagine sopra è stata realizzata con l'utilizzo dell'add-on per Firefox &lt;a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/4287"&gt;Split Browser&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Conclusioni:&lt;/p&gt;
&lt;p&gt;Queste anomalie non investono solo le applicazioni ASP.NET provate ad accedere a due Account di Gmail differenti su due tab differenti di Firefox o internet Explorer, nella stessa istanza del Browser, provate poi ad effettuare qualche modifica nei settings di un account e verificate cosa succede all'altro. Fino a poco tempo fa succedevano delle cose strane tipo email che invece di arrivare ad un account arrivano magicamente nell'altro account.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessio_blog/aggbug/94768.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessio Pambianchi</dc:creator>
            <guid isPermaLink="false">http://blogs.ugidotnet.org/alessio_blog/archive/2008/11/26/deep-dive-into-asp.net-session.aspx</guid>
            <pubDate>Wed, 26 Nov 2008 21:56:59 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessio_blog/comments/94768.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessio_blog/archive/2008/11/26/deep-dive-into-asp.net-session.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessio_blog/comments/commentRss/94768.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessio_blog/services/trackbacks/94768.aspx</trackback:ping>
        <feedburner:origLink>http://blogs.ugidotnet.org/alessio_blog/archive/2008/11/26/deep-dive-into-asp.net-session.aspx</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/AlessioPambianchi/~3/MJ9OPM95AnM/deep-dive-into-asp.net-session.aspx</feedburner:origLink></item>
        <item>
            <title>[OT] - Cosa offre la rete bis!</title>
            <category>Off Topic</category>
            <link>http://feedproxy.google.com/~r/feedburner/xKrT/~3/wq8gGabeuPw/ot---cosa-offre-la-rete-bis.aspx</link>
            <description>&lt;img src="http://blogs.ugidotnet.org/alessio_blog/aggbug/94148.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessio Pambianchi</dc:creator>
            <guid isPermaLink="false">http://blogs.ugidotnet.org/alessio_blog/archive/2008/09/24/ot---cosa-offre-la-rete-bis.aspx</guid>
            <pubDate>Wed, 24 Sep 2008 13:50:08 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessio_blog/comments/94148.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessio_blog/archive/2008/09/24/ot---cosa-offre-la-rete-bis.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessio_blog/comments/commentRss/94148.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessio_blog/services/trackbacks/94148.aspx</trackback:ping>
        <feedburner:origLink>http://blogs.ugidotnet.org/alessio_blog/archive/2008/09/24/ot---cosa-offre-la-rete-bis.aspx</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/AlessioPambianchi/~3/y6jt0bstc4c/ot---cosa-offre-la-rete-bis.aspx</feedburner:origLink></item>
        <item>
            <title>ASP.NET con Google Doctype</title>
            <category>ASP.NET AJAX</category>
            <link>http://feedproxy.google.com/~r/feedburner/xKrT/~3/BFu2Hz-z-Eg/asp.net-con-google-doctype.aspx</link>
            <description>&lt;img src="http://blogs.ugidotnet.org/alessio_blog/aggbug/94072.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessio Pambianchi</dc:creator>
            <guid isPermaLink="false">http://blogs.ugidotnet.org/alessio_blog/archive/2008/09/18/asp.net-con-google-doctype.aspx</guid>
            <pubDate>Thu, 18 Sep 2008 10:43:26 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessio_blog/comments/94072.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessio_blog/archive/2008/09/18/asp.net-con-google-doctype.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessio_blog/comments/commentRss/94072.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessio_blog/services/trackbacks/94072.aspx</trackback:ping>
        <feedburner:origLink>http://blogs.ugidotnet.org/alessio_blog/archive/2008/09/18/asp.net-con-google-doctype.aspx</feedburner:origLink><feedburner:origLink>http://feedproxy.google.com/~r/AlessioPambianchi/~3/-Qo6cZCXdJc/asp.net-con-google-doctype.aspx</feedburner:origLink></item>
    </channel>
</rss>
