ASP .NET http://blogs.ugidotnet.org/marcom/category/ASP .NET.aspx ASP .NET it-IT Marco Minerva Subtext Version 2.6.0.0 Un po' di chiarezza sull'in-place upgrade a .NET 4.5 http://blogs.ugidotnet.org/marcom/archive/2012/09/13/un-po-di-chiarezza-sullin-place-upgrade-a-.net-4.5.aspx <p>Il .NET Framework 4.5 è rilasciato come un in-place upgrade della versione 4.0. Questo significa che .NET 4.5 sostituisce completamente la release precedente sul PC, senza modificarne il numero di versione. Come si può leggere nel post <a href="http://www.west-wind.com/weblog/posts/2012/Mar/13/NET-45-is-an-inplace-replacement-for-NET-40">.NET 4.5 is an in-place replacement for .NET 4.0</a> di Rick Strahl:</p> <blockquote> <p>When you install .NET 4.5 your .NET 4.0 assemblies in the \Windows\.NET Framework\V4.0.30319 are overwritten with a new set of assemblies. You end up with overwritten assemblies as well as a bunch of new ones (like the new System.Net.Http assemblies for example). […] The 4.5 update completely replaces the .NET 4.0 runtime and leaves the actual version number set at v4.0.30319. </p> </blockquote> <p>Un punto che può creare confusione riguarda la possibilità di creare applicazioni per .NET 4.0 dopo che è stato effettuato l'upgrade alla versione 4.5. Rick ci dice che:</p> <blockquote> <p>When you build a new project with Visual Studio 2011, you can still target .NET 4.0 or you can target .NET 4.5. But you are in effect referencing the same set of assemblies for both regardless which version you use. </p> </blockquote> <p>Scott Hanselman, invece, nel suo post <a href="http://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx">.NET Versioning and Multi-Targeting - .NET 4.5 is an in-place upgrade to .NET 4.0</a>, fa notare una cosa diversa:</p> <blockquote> <p>It's been implied on blogs that if you install .NET 4.5 on your machine that you can't safely develop for .NET 4. In Rick's post, he compares two DLLs on a .NET 4 machine and again after the .NET 4.5 in place upgrade. How can you target safely against .NET 4 if you've installed .NET 4.5? You don't have those .NET 4 DLLs anymore, right?</p> <p>Actually you do. They are in C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework.</p> <p>[…] So while .NET 4 and .NET 4.5 don't live side by side on your system at runtime, Visual Studio knows about all the different versions of .NET and the compiler will reference different versions when you build.</p> </blockquote> <p>Chi ha ragione? La cosa necessità di ulteriori approfondimenti.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:26fd742b-3b13-4f9d-b57a-a8daa40a5049" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio">Visual Studio</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/VB.NET">VB.NET</a>,<a rel="tag" href="http://technorati.com/tags/ASP.NET">ASP.NET</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/101212.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/09/13/un-po-di-chiarezza-sullin-place-upgrade-a-.net-4.5.aspx Thu, 13 Sep 2012 11:08:50 GMT http://blogs.ugidotnet.org/marcom/archive/2012/09/13/un-po-di-chiarezza-sullin-place-upgrade-a-.net-4.5.aspx#feedback 5 http://blogs.ugidotnet.org/marcom/comments/commentRss/101212.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/101212.aspx Traduzioni localizzate dei messaggi di errore http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx <p>Alzi la mano chi non ha mai inserito in Google un messaggio di errore di .NET, alla ricerca di una spiegazione del problema: così facendo, infatti, spesso possiamo trovare descrizioni dettagliate, con precise indicazioni su come risolvere l'inghippo.</p> <p>Tuttavia, se utilizziamo una versione localizzata del Framework .NET (oppure se installiamo un'applicazione in un PC con la versione localizzata del Framework), anche i messaggi di errore sono tradotti. Come ben sappiamo, invece, abbiamo maggiori possibilità di trovare informazioni se cerchiamo il messaggio in inglese. Ma c'è un problema: spesso le traduzioni dall'inglese lasciano molto a desiderare (per non dire di peggio), quindi in tale scenario può non essere facile trovare quello che ci serve.</p> <p>Ecco allora che <a href="http://www.finderr.net/" target="_blank"><strong>FindErr.NET</strong></a> arriva in nostro soccorso: in questo sito, inseriamo il messaggio di errore, ad esempio in italiano, ed otteniamo l'esatta traduzione in inglese, che possiamo immediatamente ricercare con Google usando il link fornito. Davvero molto utile.</p> <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:0c78fb5d-8f94-4e54-9a05-77c640dd03cc" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB.NET" rel="tag">VB.NET</a>,<a href="http://technorati.com/tags/Silverlight" rel="tag">Silverlight</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/WCF" rel="tag">WCF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100928.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx Fri, 06 Apr 2012 19:21:11 GMT http://blogs.ugidotnet.org/marcom/archive/2012/04/06/traduzioni-localizzate-dei-messaggi-di-errore.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100928.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100928.aspx AutoMapper, una libreria indispensabile http://blogs.ugidotnet.org/marcom/archive/2012/01/23/automapper-una-libreria-indispensabile.aspx <p><a target="_blank" href="http://automapper.org/"><strong>AutoMapper</strong></a> è una libreria indispensabile in tutti quei casi in cui è necessario mappare un oggetto su un altro. Esempio tipico è quando abbiamo un oggetto che rappresenta un’entità del database e lo vogliamo utilizzare per impostare le proprietà di un nostro oggetto di business. Questa attività, estremamente noiosa e ripetitiva, grazie ad <a target="_blank" href="http://automapper.org/">AutoMapper</a> si realizza con una semplice riga di codice.</p> <p><a target="_blank" href="http://automapper.org/">AutoMapper</a> è un progetto open source disponibile su <a target="_blank" href="https://github.com/automapper/automapper">GitHub</a>. Può anche essere scaricato direttamente tramite NuGet. Su CodeProject, inoltre, si può trovare un <a target="_blank" href="http://www.codeproject.com/Articles/61629/AutoMapper">articolo</a> che mostra come muovere i primi passi con la libreria.</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6ba51518-3714-4114-a66a-98bc5fe671a4" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/VB+.NET">VB .NET</a>,<a rel="tag" href="http://technorati.com/tags/ASP+.NET">ASP .NET</a>,<a rel="tag" href="http://technorati.com/tags/Silverlight">Silverlight</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100724.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/01/23/automapper-una-libreria-indispensabile.aspx Mon, 23 Jan 2012 23:12:26 GMT http://blogs.ugidotnet.org/marcom/archive/2012/01/23/automapper-una-libreria-indispensabile.aspx#feedback 14 http://blogs.ugidotnet.org/marcom/comments/commentRss/100724.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100724.aspx Convertire un orario da UTC a ora locale http://blogs.ugidotnet.org/marcom/archive/2012/01/03/convertire-un-orario-da-utc-a-ora-locale.aspx <p>Quest'oggi avevo la necessità di convertire un orario in formato <strong>UTC</strong>, prelevato da un database, nell'<strong>orario locale</strong>. Il tipo <a href="http://msdn.microsoft.com/en-us/library/system.datetime.aspx" target="_blank">DateTime</a> mette a disposizione un metodo, <a href="http://msdn.microsoft.com/en-us/library/system.datetime.tolocaltime.aspx" target="_blank">ToLocalTime</a>, che sembra perfetto per questo scopo. Tuttavia, il suo utilizzo "diretto" non porta il risultato sperato.</p> <p>Il motivo è semplice: se leggo un campo <a href="http://msdn.microsoft.com/it-it/library/ms187819.aspx" target="_blank">datetime</a> da un database e lo salvo in una variabile <a href="http://msdn.microsoft.com/en-us/library/system.datetime.aspx" target="_blank">DateTime</a>, .NET suppone che tale orario sia espresso nel formato locale, quindi se su tale variabile invoco il metodo <a href="http://msdn.microsoft.com/en-us/library/system.datetime.tolocaltime.aspx" target="_blank">ToLocalTime</a>, ottengo di nuovo l'orario originale.</p> <p>Per ottenere il risultato voluto, è necessario utilizzare un'istruzione come la seguente:</p> <p>var localDatetime = new DateTime(utcDateTimeFromDB.Ticks, DateTimeKind.Utc).ToLocalTime();</p> <p>Con essa, creiamo un nuovo oggetto <a href="http://msdn.microsoft.com/en-us/library/system.datetime.aspx" target="_blank">DateTime</a>, ma, tramite il parametro DateTimeKind.Utc, indichiamo che l'orario è in formato UTC. Così facendo, il metodo <a href="http://msdn.microsoft.com/en-us/library/system.datetime.tolocaltime.aspx" target="_blank">ToLocalTime</a> è in grado di applicare il fuso orario e l'eventuale ora legale, per ottenere l'orario locale corretto.</p> <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:b1042381-7b75-4137-9d7d-5a516399e5cb" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB+.NET" rel="tag">VB .NET</a>,<a href="http://technorati.com/tags/ASP+.NET" rel="tag">ASP .NET</a>,<a href="http://technorati.com/tags/SQL+Server" rel="tag">SQL Server</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100672.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2012/01/03/convertire-un-orario-da-utc-a-ora-locale.aspx Tue, 03 Jan 2012 21:38:59 GMT http://blogs.ugidotnet.org/marcom/archive/2012/01/03/convertire-un-orario-da-utc-a-ora-locale.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100672.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100672.aspx Servizi REST e risposte in formato JSON http://blogs.ugidotnet.org/marcom/archive/2011/12/27/servizi-rest-e-risposte-in-formato-json.aspx <p>Utilizzando il <strong><a target="_blank" href="http://visualstudiogallery.msdn.microsoft.com/fbc7e5c1-a0d2-41bd-9d7b-e54c845394cd">WCF Rest Template 40</a></strong>, è molto semplice creare un servizio WCF REST in C#: esso, infatti, definisce una serie di metodi di esempio ed inserisce nel file <em>web.config</em> tutte le configurazioni necessarie per questo tipo di servizio.</p> <p>Di default, i messaggi di risposta sono serializzati in formato XML. Il custom attribute <a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webinvokeattribute.aspx">WebInvoke</a> permette però di indicare il formato desiderato: i valori possibili sono Xml o Json. Tuttavia, anche se si indica quest'ultimo, la risposta viene sempre ottenuta in XML. Per avere il Json, si deve modificare il file<em> web.config</em>. In particolare, nella riga</p> <p><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#a31515" face="Consolas" size="2"><font color="#a31515" face="Consolas" size="2"><font color="#a31515" face="Consolas" size="2">&lt;standardEndpoint</font></font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"> </font></font></font><font color="#ff0000" face="Consolas" size="2"><font color="#ff0000" face="Consolas" size="2"><font color="#ff0000" face="Consolas" size="2">name</font></font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2">=</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">""</font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"> </font></font></font><font color="#ff0000" face="Consolas" size="2"><font color="#ff0000" face="Consolas" size="2"><font color="#ff0000" face="Consolas" size="2">helpEnabled</font></font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2">=</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">"</font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2">true</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">"</font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"> </font></font></font><font color="#ff0000" face="Consolas" size="2"><font color="#ff0000" face="Consolas" size="2"><font color="#ff0000" face="Consolas" size="2">automaticFormatSelectionEnabled</font></font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2">=</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">"</font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2">true</font></font></font><font face="Consolas" size="2"><font face="Consolas" size="2">"</font></font><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2"><font color="#0000ff" face="Consolas" size="2">/&gt;</font></font></font></font> </font>  </p> <p>Si deve modificare il valore dell'attributo <strong>automaticFormatSelectionEnabled</strong> ponendolo a <strong>false</strong> (oppure eliminando del tutto l'attributo, dal momento che il default è proprio <strong>false</strong>).</p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ad7f336e-5011-40b8-b00b-98263b9e9993" style="margin: 0px; padding: 0px; float: none; display: inline;">Tag di Technorati: <a rel="tag" href="http://technorati.com/tags/.NET">.NET</a>,<a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/WCF">WCF</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100653.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/12/27/servizi-rest-e-risposte-in-formato-json.aspx Tue, 27 Dec 2011 14:29:03 GMT http://blogs.ugidotnet.org/marcom/archive/2011/12/27/servizi-rest-e-risposte-in-formato-json.aspx#feedback 3 http://blogs.ugidotnet.org/marcom/comments/commentRss/100653.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100653.aspx [70-515] Errore grosso come una casa http://blogs.ugidotnet.org/marcom/archive/2011/11/06/70-515-errore-grosso-come-una-casa.aspx <p>Come ben sa chiunque abbia letto anche solo uno dei libri di certificazione Microsoft, i testi sono pieni di errori… Alcuni sono sviste, mentre altri sono molto gravi, come quello che ho appena riscontrato nel capitolo dedicato alla creazione di <strong>Custom Web Control</strong>.</p> <p>In esso, si parla dei metodi <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.renderbegintag.aspx" target="_blank">RenderBegin</a> e <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.renderendtag.aspx" target="_blank">RenderEndTag</a>, per creare il codice HTML corrispondente rispettivamente al tag di apertura e a quello di chiusura del controllo. Nel libro si legge che:</p> <blockquote> <p>Note that the RenderEndTag is not required, because it is automatically called and will render an end tag based on the supplied begin tag.</p> </blockquote> <p>Anche gli esempi successivi sono coerenti con questa affermazione, infatti il metodo RenderEndTag non viene mai utilizzato.</p> <p>Tuttavia, questa nota mi è subito sembrata abbastanza strana, perché vorrebbe dire che il framework .NET estrae il nome del tag dalla stringa utilizzata nella chiamata a <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.renderendtag.aspx" target="_blank">RenderBeginTag</a> e lo usa per generare un tag di chiusura con lo stesso nome. E nel caso in cui in RenderBeginTag si inseriscano più tag annidati, la <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.renderendtag.aspx" target="_blank">EndRenderTag</a> li dovrebbe chiudere tutti automaticamente?</p> <p>La prova dei fatti ha confermato i miei dubbi: se si crea un controllo che estende la classe <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.aspx" target="_blank">WebControl</a> e al suo interno si effettua l’override del metodo RenderBeginTag, ma non di RenderEndTag, in fase di esecuzione si ottiene una bella eccezione:</p> <blockquote> <p>System.InvalidOperationException: A PopEndTag was called without a corresponding PushEndTag.</p> </blockquote> <p>Inutile aggiungere altro…</p> <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:6815127f-861c-4ce1-85b0-e1a00fb483a5" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/Visual+Studio" rel="tag">Visual Studio</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/VB+.NET" rel="tag">VB .NET</a>,<a href="http://technorati.com/tags/ASP+.NET" rel="tag">ASP .NET</a>,<a href="http://technorati.com/tags/Certification" rel="tag">Certification</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100499.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/11/06/70-515-errore-grosso-come-una-casa.aspx Sun, 06 Nov 2011 14:47:59 GMT http://blogs.ugidotnet.org/marcom/archive/2011/11/06/70-515-errore-grosso-come-una-casa.aspx#feedback http://blogs.ugidotnet.org/marcom/comments/commentRss/100499.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100499.aspx Upload di file con AsyncFileUpload http://blogs.ugidotnet.org/marcom/archive/2011/06/03/upload-di-file-con-asyncfileupload.aspx <p>Questa mattinami sono imbattuto in un comportamento alquanto strano tentando di salvare sul server un file caricato con l'oggetto <a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/asyncfileupload/asyncfileupload.aspx" target="_blank">AsyncFileUpload</a> dell'<a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/" target="_blank">AJAX Control Toolkit</a>. Innanzi tutto, ho configurato la dimensione massima per i file impostando l'elemento <a href="http://msdn.microsoft.com/en-us/library/e1f13641(VS.90).aspx" target="_blank">httpRuntime</a> nel file <strong>web.config</strong>:</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:ddc8924b-2054-4765-b520-e79ee02fc284" class="wlWriterEditableSmartContent"><pre style=" width: 549px; height: 22px;background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;overflow: visible;;font-family:Consolas;font-size:8,25"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">httpRuntime </span><span style="color: #FF0000;">maxRequestLength</span><span style="color: #0000FF;">="102400"</span><span style="color: #FF0000;"> </span><span style="color: #0000FF;">/&gt;</span></div></pre><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin. http://dunnhq.com --></div> <p>In questo modo, il caricamento di file sul PC di sviluppo funzionava correttamente. Tuttavia, una volta installato il sito in produzione, tentando di caricare file più grossi di 400 KB ottenevo il messaggio di errore: "Impossibile accedere ad un file chiuso". Facendo qualche ricerca su Internet, ho scoperto che il problema era dovuto alla mancanza dell'attributo <a href="http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.requestlengthdiskthreshold(VS.90).aspx" target="_blank">requestLengthDiskThreshold</a> sull'elemento <a href="http://msdn.microsoft.com/en-us/library/e1f13641(VS.90).aspx" target="_blank">httpRuntime</a>. Esso imposta il numero di byte che sono mantenuti in cache; i dati oltre tale valore sono temporaneamente scritti su disco. Il valore di default di tale attributo è 256 (byte). Aumentandolo in questo modo:</p> <p> </p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9D7513F9-C04C-4721-824A-2B34F0212519:9b5dbd6f-93c4-4c1e-bff0-e8eb0fb794c3" class="wlWriterEditableSmartContent"><pre style=" width: 549px; height: 22px;background-color:White;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;overflow: visible;;font-family:Consolas;font-size:8,25"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">httpRuntime </span><span style="color: #FF0000;">maxRequestLength</span><span style="color: #0000FF;">="102400"</span><span style="color: #FF0000;"> requestLengthDiskThreshold</span><span style="color: #0000FF;">="15360"</span><span style="color: #FF0000;"> </span><span style="color: #0000FF;">/&gt;</span></div></pre><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin. http://dunnhq.com --></div> <p>Sono stato in grado di caricare i file correttamente anche sul sito in produzione.</p> <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:117d2387-26b1-4158-8595-4eec48b2050b" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/Visual+Studio+2010" rel="tag">Visual Studio 2010</a>,<a href="http://technorati.com/tags/AJAX" rel="tag">AJAX</a>,<a href="http://technorati.com/tags/ASP+.NET" rel="tag">ASP .NET</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/100091.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/06/03/upload-di-file-con-asyncfileupload.aspx Fri, 03 Jun 2011 11:42:32 GMT http://blogs.ugidotnet.org/marcom/archive/2011/06/03/upload-di-file-con-asyncfileupload.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/100091.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/100091.aspx DotNetToscana risorge! http://blogs.ugidotnet.org/marcom/archive/2011/04/15/dotnettoscana-risorge.aspx <p>Ultimamente, non ci siamo quasi più fatti sentire, quindi immagino che molti di voi abbiamo pensato che <a href="http://www.dotnettoscana.org/" target="_blank"><strong>DotNetToscana</strong></a> fosse morta. E invece, come l’araba fenice, <strong>siamo</strong> <strong>tornati!</strong></p> <p>Dopo una serie di incontri, virtuali e non, abbiamo pubblicato un nuovo <a href="http://www.dotnettoscana.org/" target="_blank">sito web</a>, molto più snello e veloce del precedente. Ma, soprattutto, abbiamo deciso di partire alla grande organizzando un <strong>Hands On</strong> <strong>Lab</strong> sullo sviluppo di videogiochi per <strong>Windows Phone 7</strong> con <strong>XNA</strong>. L’evento si svolgerà il 14 Maggio a Pisa e avrà durata giornaliera. E’ già tutto pronto: sul nostro sito potete leggere di cosa si tratta e registrarvi immediatamente per la partecipazione. Trattandosi di un laboratorio, i posti sono limitati, quindi affrettatevi!</p> <p>Colgo l’occasione per ringraziare i miei amici <a href="http://blogs.ugidotnet.org/angellaa/Default.aspx" target="_blank">Andrea Angella</a>, Mario Martellini (che non ha un blog da linkare) e <a href="http://blogs.ugidotnet.org/bmatte/Default.aspx" target="_blank">Matteo Baglini</a> (in rigoroso ordine alfabetico), che hanno creduto con me nella <strong>rinascita</strong> di <a href="http://www.dotnettoscana.org/" target="_blank"><strong>DotNetToscana</strong></a> e che mi hanno supportato e sopportato quando li stressavo dicendo loro che dovevamo darci da fare.</p> <p>Che aggiungere ancora… <strong>DotNetToscana è tornata!!!</strong></p> <p> </p><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:d34d9c6c-3dfd-4a54-a0b0-616bcf1714e3" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/Community" rel="tag">Community</a>,<a href="http://technorati.com/tags/DotNetToscana" rel="tag">DotNetToscana</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/99957.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2011/04/15/dotnettoscana-risorge.aspx Fri, 15 Apr 2011 00:38:12 GMT http://blogs.ugidotnet.org/marcom/archive/2011/04/15/dotnettoscana-risorge.aspx#feedback 4 http://blogs.ugidotnet.org/marcom/comments/commentRss/99957.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/99957.aspx Community Tour con DotNetToscana http://blogs.ugidotnet.org/marcom/archive/2010/10/25/communitytour-con-dotnettoscana.aspx <p>Il 13 Dicembre prossimo, a Firenze, si svolgerà la tappa toscana del <strong>Community Tour</strong> di Microsoft dedicato a Visual Studio 2010, le novità del Web e Windows Phone 7.  Noi di <a href="http://www.dotnettoscana.org/" target="_blank">DotNetToscana</a> vi prenderemo parte con due sessioni, una dedicata a Silverlight e l’altra al nuovo ASP .NET MVC 3, il tutto preceduto da un’interessante introduzione a Windows Phone 7 e allo sviluppo su questa nuova piattaforma. Sul nostro sito è disponibile <a href="http://dotnettoscana.org/content/CommunityTour2010.aspx" target="_blank">l’agenda dell’evento</a>, in cui troverete anche il link per la registrazione.</p> <p>Speriamo di vedervi numerosi!</p> <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:249dc340-eb2d-48f9-a0b7-a4a87775a9e9" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/Visual+Studio" rel="tag">Visual Studio</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/ASP+.NET" rel="tag">ASP .NET</a>,<a href="http://technorati.com/tags/Silverlight" rel="tag">Silverlight</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/Community" rel="tag">Community</a>,<a href="http://technorati.com/tags/Windows+Phone" rel="tag">Windows Phone</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/99397.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2010/10/25/communitytour-con-dotnettoscana.aspx Mon, 25 Oct 2010 22:11:18 GMT http://blogs.ugidotnet.org/marcom/archive/2010/10/25/communitytour-con-dotnettoscana.aspx#feedback 1 http://blogs.ugidotnet.org/marcom/comments/commentRss/99397.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/99397.aspx Visualizzare Header e Footer di una GridView che non contiene dati http://blogs.ugidotnet.org/marcom/archive/2010/10/14/visualizzare-header-e-footer-di-una-gridview-che-non-contiene.aspx <p>Come tutti sanno, quando un oggetto <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.aspx" target="_blank"><strong>GridView</strong></a> non contiene dati, viene renderizzato il contenuto delle sue proprietà <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx" target="_blank">EmptyDataTemplate</a> e/o <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatext.aspx" target="_blank">EmpyDataText</a>. In questo caso, tuttavia, l’header e il footer della griglia non sono mostrati.  Questa mattina avevo però la necessità di mostrare tali oggetti in ogni caso; dopo una ricerca con il solito <a href="http://www.google.com/" target="_blank">Google</a>, sono giunto su <a href="http://mattberseth.com/blog/2007/07/how_to_show_header_and_footer.html" target="_blank">questo post</a>, che mostra come creare un controllo <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.aspx" target="_blank">GridView</a> con due nuove proprietà,  <strong>ShowFooterWhenEmpty</strong> e <strong>ShowHeaderWhenEmpty</strong>, che erano proprio ciò che stavo cercando.</p> <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:1410f864-b171-44bc-8b86-8c6e231579ea" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/Visual+Studio" rel="tag">Visual Studio</a>,<a href="http://technorati.com/tags/.NET" rel="tag">.NET</a>,<a href="http://technorati.com/tags/Programming" rel="tag">Programming</a>,<a href="http://technorati.com/tags/C%23" rel="tag">C#</a>,<a href="http://technorati.com/tags/ASP+.NET" rel="tag">ASP .NET</a></div><img src="http://blogs.ugidotnet.org/marcom/aggbug/99354.aspx" width="1" height="1" /> Marco Minerva http://blogs.ugidotnet.org/marcom/archive/2010/10/14/visualizzare-header-e-footer-di-una-gridview-che-non-contiene.aspx Thu, 14 Oct 2010 14:24:29 GMT http://blogs.ugidotnet.org/marcom/archive/2010/10/14/visualizzare-header-e-footer-di-una-gridview-che-non-contiene.aspx#feedback 8 http://blogs.ugidotnet.org/marcom/comments/commentRss/99354.aspx http://blogs.ugidotnet.org/marcom/services/trackbacks/99354.aspx