<rss version="2.0" 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/">
    <channel>
        <title>ASP.NET 2.0</title>
        <link>http://blogs.ugidotnet.org/Crad/category/1883.aspx</link>
        <description>ASP.NET 2.0</description>
        <language>it-IT</language>
        <copyright>Marco De Sanctis</copyright>
        <managingEditor>marcodesanctis2@gmail.com</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <item>
            <title>Forzare la rigenerazione del file .designer.cs in ASP.NET</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/12/18/forzare-la-rigenerazione-del-file-.designer.cs-in-asp.net.aspx</link>
            <description>&lt;p&gt;In Visual Studio 2005 accade a volte che il file .designer.cs non venga correttamente generato con i controlli contenuti nel markup della pagina.&lt;/p&gt; &lt;p&gt;La memoria è corta, quindi me lo segno qui sul blog: per forzarne una rigenerazione, è sufficiente eliminare il file .designer.cs e poi fare tasto-dx sulla pagina, &lt;em&gt;Convert to Web Application&lt;/em&gt;.&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:b8a493eb-0e5f-4b7c-b812-b91b25432878" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/90340.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/12/18/forzare-la-rigenerazione-del-file-.designer.cs-in-asp.net.aspx</guid>
            <pubDate>Tue, 18 Dec 2007 16:05:15 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/90340.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/12/18/forzare-la-rigenerazione-del-file-.designer.cs-in-asp.net.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/90340.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Quando l'UpdatePanel non fa l'AsyncPostBack...</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/10/20/quando-lupdatepanel-non-fa-lasyncpostback.aspx</link>
            <description>&lt;p&gt;...potreste aver dimenticato di assegnare l'ID al vostro LinkButton &lt;img alt="smile_teeth" src="http://spaces.live.com/rte/emoticons/smile_teeth.gif" /&gt;&lt;/p&gt; &lt;p&gt;Giuro che questa mi ha fatto veramente impazzire, ma è così, provare per credere!!&lt;/p&gt; &lt;p&gt;Ma io mica mi fermo qui! Perchè, dannazione??&lt;/p&gt; &lt;p&gt;Il PageRequestManager, ad ogni postback, utilizza l'argomento eventTarget della funzione __doPostback per determinare qual è il controllo che ha richiesto il submit e discriminare se eseguire una chiamata out-of-band (ad es. se il controllo si trova dentro ad un UpdatePanel) o meno.&lt;/p&gt; &lt;p&gt;Ottimo, ma ovviamente ha bisogno di recuperare un'istanza per capire in che posizione del DOM si trovi. Come fa?&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:22725c16-a377-453c-9d80-6e661cd54560" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; controllo &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; document.getElementById(&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: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ma... attenzione: se non assegnamo l'ID al LinkButton, ASP.NET emette il seguente markup:&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:ad649e15-cdc2-4199-9b8b-974d66b2b9cc" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;="javascript:__doPostBack('ctl03','')"&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Btn without Id&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sfido chiunque a ritrovare questo tag cercando l'elemento con id='ctl03' &lt;img alt="smile_teeth" src="http://spaces.live.com/rte/emoticons/smile_teeth.gif" /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:ddfe1865-f433-4036-aa41-cb50f4ecaf2b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &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;a href="http://technorati.com/tags/UpdatePanel" rel="tag"&gt;UpdatePanel&lt;/a&gt;, &lt;a href="http://technorati.com/tags/PageRequestManager" rel="tag"&gt;PageRequestManager&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/89085.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/10/20/quando-lupdatepanel-non-fa-lasyncpostback.aspx</guid>
            <pubDate>Fri, 19 Oct 2007 23:12:12 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/89085.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/10/20/quando-lupdatepanel-non-fa-lasyncpostback.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/89085.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Multithreading su Aspitalia.com</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/10/16/multithreading-su-aspitalia.com.aspx</link>
            <description>&lt;p&gt;Dopo &lt;a href="http://www.aspitalia.com/articoli/architettura/nhibernate.aspx"&gt;il mio precedente lavoro&lt;/a&gt; su &lt;a href="http://www.nhibernate.org"&gt;NHibernate&lt;/a&gt;, oggi &lt;a href="http://www.aspitalia.com"&gt;Aspitalia.com&lt;/a&gt; ha pubblicato &lt;a href="http://www.aspitalia.com/articoli/asp.net2/multi-threading.aspx"&gt;un mio nuovo articolo sul multithreading&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Grazie mille a &lt;a href="http://blogs.aspitalia.com/daniele/"&gt;Daniele&lt;/a&gt; per lo spazio che mi ha concesso e a &lt;a href="http://blogs.aspitalia.com/rickyvr/"&gt;Ricky&lt;/a&gt; per la pazienza nel correggerlo!&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:e17002a9-ea13-427f-b53c-4973f297e17b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/Articoli" rel="tag"&gt;Articoli&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Multithreading" rel="tag"&gt;Multithreading&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/88969.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/10/16/multithreading-su-aspitalia.com.aspx</guid>
            <pubDate>Tue, 16 Oct 2007 08:04:25 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/88969.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/10/16/multithreading-su-aspitalia.com.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/88969.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Viewstate e controlli dinamici</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/05/16/78405.aspx</link>
            <description>&lt;p&gt;Volevo rispondere a &lt;a href="http://blogs.ugidotnet.org/rgm/archive/2007/05/16/78386.aspx"&gt;questo post&lt;/a&gt; di Gian Maria, poi il testo era un po' lungo e allora ho optato per la modalità stand alone :D&lt;/p&gt; &lt;p&gt;Anche in ASP.NET 2.0, come accadeva nella 1.1, è necessario ricreare controlli dinamici durante la fase di Init al fine di preservare correttamente il viewstate. La ragione risiede nel fatto che il ripristino dello stato dei controlli avviene in maniera posizionale. Consideriamo una pagina con una DropDownList (il cui contenuto è ripristinato tramite Viewstate) e il seguente snippet di codice, che aggiunge un button &lt;strong&gt;prima&lt;/strong&gt; della ddl stessa:&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:33d5f724-3a0e-441f-8a43-13873fb97f18" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width: 100%"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000ff"&gt;protected&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; Page_Load(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt; sender, EventArgs e)
{
    &lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.form1.Controls.AddAt(&lt;/span&gt;&lt;span style="color: #800080"&gt;0&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; Button());
    &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: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #000000"&gt;IsPostBack)
    {
        ddlTest.DataSource &lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; getDataSource();
        ddlTest.DataBind();
    }
}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Se analizziamo il ciclo di vita della pagina, ad esempio attivando il trace, notiamo che l'ordine degli eventi è il seguente (ho volutamente omesso tutto ciò che non interessa questo discorso):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Init 
&lt;/li&gt;&lt;li&gt;LoadViewState 
&lt;/li&gt;&lt;li&gt;Load 
&lt;/li&gt;&lt;li&gt;SaveViewState&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Bene. Visualizziamo nel browser la nostra pagina, LoadViewState non viene sollevato perché non siamo in un postback, Load costruisce il button dinamico, SaveViewState salva lo stato di un albero di oggetti che, grossomodo è &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Button 
&lt;/li&gt;&lt;li&gt;DropDownList&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Supponiamo di effettuare un postback. Cosa accade?&lt;/p&gt;
&lt;p&gt;LoadViewState prova a ripristinare lo stato del Button, ma questo ancora non esiste: l'evento Load ancora non si è verificato e l'albero degli oggetti ora è composto dalla sola DropDownList! Il risultato è che LoadViewState invierà i dati &lt;strong&gt;del Button&lt;/strong&gt; al metodo LoadViewState &lt;strong&gt;della DropDownList&lt;/strong&gt;, che ovviamente non sarà in grado di ripristinare correttamente lo stato, proponendoci nel postback una DropDownList vuota.&lt;/p&gt;
&lt;p&gt;Creando il button in fase di Init, invece, il problema non si pone, dato che LoadViewState opera in un contesto coerente con quello in cui è stato eseguito il SaveViewState al precedente rendering della pagina.&lt;/p&gt;
&lt;p&gt;EDIT: quanto segue è frutto di uno sforzo congiunto da parte mia e &lt;a href="http://blogs.ugidotnet.org/rgm"&gt;del buon Alk&lt;/a&gt; :)&lt;/p&gt;
&lt;p&gt;In ASP.NET 2.0 (devo verificare cosa accade su 1.1) in realtà è comunque possibile aggiungere controlli dinamici in una fase successiva al LoadViewState: basta utilizzare un placeholder o un qualunque altro controllo contenitore. Come è possibile?&lt;/p&gt;
&lt;p&gt;In fase di postback, la Form ripartisce di nuovo il viewstate tra i suoi controlli di primo livello, al PlaceHolder va una porzione di albero e alla DDL un'altra. Quest'ultima, quindi, non si accorge minimamente dell'esistenza di controlli dinamici, riceve dati corretti e può quindi ripristinare il suo stato.&lt;/p&gt;
&lt;p&gt;La cosa che sulle prime mi ha sbalordito, è che anche i controlli aggiunti in seguito nel placeholder conservano le informazioni di stato. Non mi spiegavo come ciò fosse possibile, dato che comunque essi vengono creati dopo la fase di LoadViewState. La risposta sta nella classe ControlCollection. Quando viene ripristinato lo stato, un oggetto Control effettua un caching della porzione di viewstate ad esso inviato dal suo contenitore. All'aggiunta di un controllo child&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:1655f965-75a0-4660-a2c1-a03af74007ac" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width: 100%"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.plcHolder.Controls.Add(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt; Button());&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;viene eseguito il metodo Control.AddedControl che, nel caso la cache interna del viewstate non sia vuota, forza un nuovo Load dello stato per il controllo child (eventualmente anche per Id e non più in base all'ordine).&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:de0decaf-6c12-4f0d-ade3-d228c80a9a73" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/78405.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/05/16/78405.aspx</guid>
            <pubDate>Wed, 16 May 2007 14:27:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/78405.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/05/16/78405.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/78405.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Se passate in QueryString dati codificati Base64...</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/04/30/76923.aspx</link>
            <description>&lt;p&gt;...ricordatevi di scrivere, prima della decodifica&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72:b19bb2c3-465c-42ea-8e63-ac086547430b" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="width:100%;;"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; goodBase64string &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; 
    base64FromQueryString.Replace(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;+&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;altrimenti potreste ritrovarvi una bella FormatException per "Invalid length for a Base-64 char array".&lt;/p&gt;
&lt;p&gt;HTH&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:59ff8a19-acd9-45f1-ae74-95b5f811cbb3" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/76923.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/04/30/76923.aspx</guid>
            <pubDate>Mon, 30 Apr 2007 00:03:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/76923.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/04/30/76923.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/76923.aspx</wfw:commentRss>
        </item>
        <item>
            <title>[FIX] Ancora a proposito di VS2005 e debug su IIS7</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/04/22/76215.aspx</link>
            <description>&lt;p&gt;Nonostante avessi configurato correttamente la Windows Authentication, aperto Visual Studio con i privilegi elevati, ecc.ecc. di punto in bianco non sono riuscito più ad attivare il debug della mia applicazione con il classico F5:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;Unable to start debugging on the Web Server. An authentication error occurred while communicating with the Web Server.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;o qualcosa del genere.&lt;/p&gt; &lt;p&gt;Sono andato avanti un paio di giorni agganciandomi manualmente al processo w3wp.exe, poi stamattina ho trovato &lt;a href="http://mvolo.com/blogs/serverside/archive/2006/12/28/Fix-problems-with-Visual-Studio-F5-debugging-of-ASP.NET-applications-on-IIS7-Vista.aspx"&gt;questo post&lt;/a&gt; che mi ha risolto il problema &lt;img alt="smile_teeth" src="http://spaces.live.com/rte/emoticons/smile_teeth.gif" /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:bfbd93cf-dd1e-465c-bbb0-9f9267877fb2" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows%20Vista" rel="tag"&gt;Windows Vista&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/76215.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/04/22/76215.aspx</guid>
            <pubDate>Sun, 22 Apr 2007 08:31:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/76215.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/04/22/76215.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/76215.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Un bug veramente noioso di wsdl.exe</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2007/04/20/76039.aspx</link>
            <description>&lt;p&gt;Alcuni web service che sto realizzando, usano come parametri e valori di ritorno dei tipi che implementano l'interfaccia IXmlSerializable.&lt;/p&gt; &lt;p&gt;Il tool wsdl.exe utilizzato per generare i proxy per l'accesso lato client, ha un fastidioso bug descritto in &lt;a href="http://support.microsoft.com/kb/815131"&gt;questa KB&lt;/a&gt;: considera ogni tipo IXmlSerializable come se fosse un dataset e quindi produce metodi con signature errate.&lt;/p&gt; &lt;p&gt;L'aspetto più antipatico della questione è che, stando sempre a quanto scritto nella KB che ho linkato, non c'è soluzione se non quella di andare a cambiare a manina ogni metodo incriminato.&lt;/p&gt; &lt;p&gt;Uff, non vedo l'ora di migrare completamente a WCF!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/76039.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2007/04/20/76039.aspx</guid>
            <pubDate>Fri, 20 Apr 2007 09:05:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/76039.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2007/04/20/76039.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/76039.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Persistere il ViewState sul database (o dove ci pare)</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2006/06/27/43544.aspx</link>
            <description>Il viewstate di ASP.NET alle volte è una gran comodità, 
che però paghiamo in termini di prestazioni ad ogni postback, dato che un bel 
campo hidden di grandezza che a volte può essere considerevole, è costretto ad 
andare avanti e indietro tra client e server.&lt;br/&gt;&lt;br/&gt;Click sul titolo per leggere&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/43544.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2006/06/27/43544.aspx</guid>
            <pubDate>Mon, 26 Jun 2006 22:27:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/43544.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2006/06/27/43544.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/43544.aspx</wfw:commentRss>
        </item>
        <item>
            <title>WebServices su HTTPS</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2006/06/12/42662.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;Quella passata è stata una settimana a&amp;nbsp;dir poco 
massacrante, in cui non ho avuto un solo attimo di respiro (weekend compreso). 
Per fortuna mi sono buttato alcuni impegni alle spalle e all'una e spiccioli di 
domenica sera ho finalmente il tempo per&lt;/P&gt;
&lt;OL&gt;
  &lt;LI&gt;installare Windows Vista Beta 2 (perché io sono tra i 
  comuni mortali che per il momento non hanno a disposizione un abbonamento 
  MSDN) 
  &lt;LI&gt;Bloggare un po' &lt;IMG height=19   src="http://www.imhoproject.org/files/allegro.gif"   width=19 align=absMiddle border=0&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Nelle attività che ho svolto ultimamente, mi sono ritrovato nella necessità 
di invocare un Web Service sotto https senza che il server avesse a disposizione 
un certificato riconosciuto (il tipico caso in cui, se navigassimo con il 
browser, beccheremmo un bel warning con dialog box che ci chiede se vogliamo 
proseguire o meno).&lt;/P&gt;
&lt;P&gt;Se però stiamo accedendo ad un webservice da codice, 
ovviamente, non c'è nessuna dialog che ci proponga una qualche scelta, bensì 
l'invocazione risponde picche e solleva un'eccezione. Come ovviare? Ho trovato 
una risposta nel blog di &lt;A title="" href="http://weblogs.asp.net/jan/default.aspx" target="" name=""&gt;Jan 
Tielens&lt;/A&gt;, ed è raggiungibile clickando &lt;A title="" href="http://weblogs.asp.net/jan/archive/2003/12/04/41154.aspx" target="" name=""&gt;qui&lt;/A&gt; &lt;IMG height=19 src="http://www.imhoproject.org/files/occhiolino.gif" width=19 align=absMiddle border=0&gt;&lt;/P&gt;
&lt;P&gt;

&lt;/FONT&gt;
&lt;FONT face=Verdana size=2&gt;&lt;A href="http://imhoproject.org/"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO 1.3&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;
&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/42662.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2006/06/12/42662.aspx</guid>
            <pubDate>Sun, 11 Jun 2006 23:26:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/42662.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2006/06/12/42662.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/42662.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Stanchi di Javascript? Provate Script#</title>
            <link>http://blogs.ugidotnet.org/Crad/archive/2006/05/23/41366.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;Premetto che non l'ho provato, provo a darci un'occhiata 
stasera, ma l'idea del bravo &lt;A title="" href="http://www.nikhilk.net/" target="" name=""&gt;Nikhil Kothari&lt;/A&gt; mi intriga parecchio: un compilatore C# che 
invece di generare IL spara fuori del Javascript, con il vantaggio di avere a 
monte la possibilità di scrivere script lato client con un linguaggio Object 
Oriented, avere membri pubblici, privati,&amp;nbsp;virtuali, interfacce, supporto 
per Intellisense e Refactoring di VS2005, ecc.ecc.ecc. Mica male!! Chissà come 
si comporta in quanto a compatibilità con i diversi browser!&lt;/P&gt;
&lt;P&gt;BTW, trovate&amp;nbsp;un piccolo articolo introduttivo, il&amp;nbsp;download e anche 
un filmato&amp;nbsp;&lt;A title="" href="http://www.nikhilk.net/ScriptSharpIntro.aspx" target="" name=""&gt;a questo link&lt;/A&gt;!&lt;/P&gt;

&lt;/FONT&gt;
&lt;FONT face=Verdana size=2&gt;&lt;P&gt;&lt;A href="http://imhoproject.org/"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO 1.3&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;
&lt;img src="http://blogs.ugidotnet.org/Crad/aggbug/41366.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marco De Sanctis</dc:creator>
            <guid>http://blogs.ugidotnet.org/Crad/archive/2006/05/23/41366.aspx</guid>
            <pubDate>Tue, 23 May 2006 12:54:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Crad/comments/41366.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Crad/archive/2006/05/23/41366.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Crad/comments/commentRss/41366.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>