Blog di Luca Beretta http://blogs.ugidotnet.org/luke/Default.aspx Blog lukeBlog = new Blog("luke"); it-IT Luca Beretta Subtext Version 2.6.0.0 Blog di Luca Beretta http://blogs.ugidotnet.org/images/RSS2Image.gif http://blogs.ugidotnet.org/luke/Default.aspx 77 60 Azure AppFabric cache come Session State Provider http://blogs.ugidotnet.org/luke/archive/2012/03/02/azure-appfabric-chache-come-session-state-provider.aspx <p>Cercando di utilizzare la cache di AppFabric per condividere lo stato della sessione di una web role Azure tra più istanze, sono incappato in un fastidiosissimo bug.</p> <p>In pratica utilizzando il <strike>normale</strike> classico provider <br /></p> <pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">sessionState</span> <span class="attr">mode</span><span class="kwrd">="Custom"</span> <span class="attr">customProvider</span><span class="kwrd">="AppFabricCacheSessionStoreProvider"</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;</span><span class="html">providers</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;</span><span class="html">clear</span> <span class="kwrd">/&gt;</span> <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="AppFabricCacheSessionStoreProvider"</span> <br /> <span class="attr">type</span><span class="kwrd">="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"</span> <br /> <span class="attr">cacheName</span><span class="kwrd">="default"</span> <br /> <span class="attr">useBlobMode</span><span class="kwrd">="true"</span> <br /> <span class="attr">dataCacheClientName</span><span class="kwrd">="default"</span> <span class="kwrd">/&gt;</span> <span class="kwrd">&lt;/</span><span class="html">providers</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;/</span><span class="html">sessionState</span><span class="kwrd">&gt;</span></pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <br />eseguendo in locale con l’emulatore ed utilizzando 2 o più istanze, random, la sessione viene cancellata con ripercussioni terrificanti sul software. <p>Dopo qualche googlata sono incappato in questo post <br /><a title="http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/127ba211-51b2-4f3e-9e7b-1b41af269708" href="http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/127ba211-51b2-4f3e-9e7b-1b41af269708">http://social.msdn.microsoft.com/Forums/en-US/windowsazuredata/thread/127ba211-51b2-4f3e-9e7b-1b41af269708</a>  <br />che riporta lo stesso problema e fortunatamente un workaround. <br /> <br />Riassumendo, occorre cambiare il provider in questo modo <br /></p> <pre class="csharpcode"> <span class="kwrd">&lt;</span><span class="html">sessionState</span> <span class="attr">mode</span><span class="kwrd">="Custom"</span> <span class="attr">customProvider</span><span class="kwrd">="AppFabricCacheSessionStoreProvider"</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;</span><span class="html">providers</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;</span><span class="html">clear</span> <span class="kwrd">/&gt;</span> <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">="AppFabricCacheSessionStoreProvider"</span> <br /> <span class="attr">type</span><span class="kwrd">="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider, Microsoft.ApplicationServer.Caching.Client"</span> <br /> <span class="attr">cacheName</span><span class="kwrd">="default"</span> <br /> <span class="attr">sharedId</span><span class="kwrd">="myAppName"</span> <span class="kwrd">/&gt;</span> <span class="kwrd">&lt;/</span><span class="html">providers</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;/</span><span class="html">sessionState</span><span class="kwrd">&gt;</span></pre> <style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <p>Da notare che una volta pubblicato “fisicamente” su Azure il problema spariva. </p> <p>Ora però non so se con questo nuovo provider rischio di trovarmi qualche brutta sorpresa quando andrò online: se non posterò update catastrofici vorrà dire che il nuovo provider funziona anche su Azure <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Occhiolino" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/luke/Windows-Live-Writer/Azure-AppFabric-chache_8BE1/wlEmoticon-winkingsmile_2.png" /> <br /> <br /></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:09221e3c-aa05-4bfb-ba17-c0ffe18e17ae" class="wlWriterEditableSmartContent">Tag di Technorati: <a href="http://technorati.com/tags/Azure" rel="tag">Azure</a>,<a href="http://technorati.com/tags/AppFabric" rel="tag">AppFabric</a>,<a href="http://technorati.com/tags/cache" rel="tag">cache</a>,<a href="http://technorati.com/tags/provider" rel="tag">provider</a>,<a href="http://technorati.com/tags/bug" rel="tag">bug</a>,<a href="http://technorati.com/tags/local" rel="tag">local</a>,<a href="http://technorati.com/tags/emulator" rel="tag">emulator</a>,<a href="http://technorati.com/tags/session" rel="tag">session</a>,<a href="http://technorati.com/tags/state" rel="tag">state</a></div><img src="http://blogs.ugidotnet.org/luke/aggbug/100823.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2012/03/02/azure-appfabric-chache-come-session-state-provider.aspx Fri, 02 Mar 2012 11:11:54 GMT http://blogs.ugidotnet.org/luke/archive/2012/03/02/azure-appfabric-chache-come-session-state-provider.aspx#feedback http://blogs.ugidotnet.org/luke/comments/commentRss/100823.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/100823.aspx Npgsql con Entity Framework http://blogs.ugidotnet.org/luke/archive/2008/11/05/npgsql-con-entity-framework.aspx <p>Dall'ultima versione, <a href="http://pgfoundry.org/projects/npgsql/" target="_blank">Npgsql2</a> , il .NET Data Provider per <a href="http://www.postgresql.org" target="_blank">PostgreSQL</a> , offre il supporto per Entity Framework.</p> <p>Purtroppo non è ancora integrato con Visual Studio, quindi per utilizzarlo occorre eseguire direttamente edmgen.exe da linea di comando.</p> <p>Ma partiamo dal principio, perchè prima di poter ottenere il nostro bel file .edmx, è necessario effettuare alcune operazioni.</p> <ul> <li>scaricare l'ultima versione di Npgsql2, la 2.0.1 (non la 2.0.0 che aveva un piccolo problema nel reverse engineering degli schemi) per il framework 3.5 SP1, <a href="http://pgfoundry.org/frs/download.php/1964/Npgsql2.0.1-bin-ms.net3.5sp1.zip" target="_blank">da qui</a>;</li> <li>estrarre i due assembly Mono.Security.dll e Npgsql.dll dove desiderate;</li> <li>aprire il Visual Studio Command Prompt (run as Administrator se usate Vista!), posizionarsi nella cartella dove avete estratto i files, e registrarli nella GAC ( gacutil /i Mono.Security.dll | gacutil /i Npgsql.dll );</li> <li>sempre dal Visual Studio Command Prompt (non più necessariamente come Administrator se usate Vista!) eseguire edmgen.exe per creare i files .csdl|.ssdl|.msl <br />( edmgen /provider:Npgsql /mode:fullgeneration /c:"Port=5432;Encoding=UNICODE;Server=pgsrv; <br />Database=mydb;UserId=dbuser;Password=dbuser!8" /project:MyProject );</li> <li>a questo punto vi troverete i 3 files nella cartella, per concludere l'opera, o meglio per semplificare il tutto, perchè così già si potrebbe procedere, utilizziamo l'utility edmgen2.exe (<a href="http://code.msdn.microsoft.com/EdmGen2" target="_blank">la trovate qui</a>) per "condensare" i nostri 3 files in un unico .edmx ( edmgen2 /ToEdmx MyProject.csdl MyProject.msl MyProject.ssdl );</li> <li>non ci resta che aggiungere il risultato dei nostri sforzi (il file .edmx) al nostro progetto Visual Studio ( che provvederà ad aggiungere i riferimenti necessari), aggiungere un file di configurazione con la connection string (o specificarla direttamente nel costruttore del context) ed il gioco è fatto;</li> </ul> <p>Attenzione a specificare correttamente il path dei metadati nella stringa di connessione, altrimenti a runtime non li troverà e vi richiederà il path dei file .csdl|.ssdl|.msl; nel mio esempio dovrebbe essere circa così: <br /></p> <div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"> <div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060"> 1:</span> &lt;?xml version=<span style="color: #006080">"1.0"</span> encoding=<span style="color: #006080">"utf-8"</span> ?&gt;</pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060"> 2:</span> &lt;configuration&gt;</pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060"> 3:</span> &lt;connectionStrings&gt;</pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060"> 4:</span> &lt;add name=<span style="color: #006080">"ASTRIMSWContext"</span></pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060"> 5:</span> connectionString=<span style="color: #006080">"metadata=res://*/MyProject.csdl|res://*/MyProject.ssdl|res://*/MyProject.msl;</span></pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060"> 6:</span> provider=Npgsql;provider connection string='Server=localhost;</pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060"> 7:</span> Database=mydb;Integrated Security=False;User ID=mydbuser;Password=mydbuser!8;'" </pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060"> 8:</span> providerName=<span style="color: #006080">"System.Data.EntityClient"</span> /&gt;</pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #606060"> 9:</span> &lt;/connectionStrings&gt;</pre> <pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #606060"> 10:</span> &lt;/configuration&gt;</pre> </div> </div> <p> </p> <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a8a4842b-ad62-409d-b6ea-c04a0ead4387" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tag: <a href="http://technorati.com/tags/PostgreSQL" rel="tag">PostgreSQL</a>,<a href="http://technorati.com/tags/Npgsql" rel="tag">Npgsql</a>,<a href="http://technorati.com/tags/Entity%20Framework" rel="tag">Entity Framework</a></div><img src="http://blogs.ugidotnet.org/luke/aggbug/94526.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2008/11/05/npgsql-con-entity-framework.aspx Wed, 05 Nov 2008 17:52:38 GMT http://blogs.ugidotnet.org/luke/archive/2008/11/05/npgsql-con-entity-framework.aspx#feedback 1 http://blogs.ugidotnet.org/luke/comments/commentRss/94526.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/94526.aspx MIX, bello...per&ograve;... http://blogs.ugidotnet.org/luke/archive/2008/04/24/mix-bello.perograve.aspx <p>Mi unisco a <a href="http://blogs.ugidotnet.org/odamiani/archive/2008/04/23/92351.aspx" target="_blank">Omar</a> nel fare i complimenti a tutti gli artefici dell'evento di ieri.</p> <p>Molto interessante la sessione plenaria con Steve Ballmer, ottimi gli interventi tecnici della sessione Developer del pomeriggio.</p> <p>In effetti il pubblico in sala era un po' freddino, forse fiaccato dai 3 case history, che per dei developer erano davvero poco interessanti.</p> <p>Complimenti davvero a tutti!</p> <p>Prima di chiudere però vorrei segnalare anche un paio di cose che non mi sono molto piaciute, anzi...</p> <p>1) anche io, come Omar, sono arrivato con largo anticipo la mattina, ed il fatto di dover aspettare quasi 1 ora in piedi nell'area espositiva che via via si riempiva sempre di più, senza poter accedere alla sala, mi è sembrata una follia! La sala è stata aperta alle 10 e 5 minuti e l'inizio dei lavori era schedulato alle 10 e 15...perchè?</p> <p>Secondo me era meglio lasciarla aperta, uno entrava, posava la sua roba, usciva e si beveva il caffè più tranquillo; l'area espositiva sarebbe stata più vivibile anche per gli sponsor che vi lavoravano, invece di avere gente in piedi che aspettava di entrare, gente che girava cercando un angolo per bersi il caffè, gente che cercava di visitare gli stand, ecc...</p> <p>2) entrando tra i primi sono rimasto molto negativamente impressionato dall'abnorme quantità di posti riservati : le prime dieci (dico 10!!!) file, per 25 colonne, totale 250 posti, più un blocco di 10x10 posti sulla destra, ed altri 10x10 sulla sinistra: totale 450 posti riservati in una sala che approssimativamente poteva accogliere un migliaio di persone sedute! Decisamente troppi!!!</p> <p>In più come se non bastasse, subito dietro alla zona off-limits, hanno piazzato il cameraman ed i fotografi che continuavano ad andare avanti ed indietro!</p> <p>Di solito i posti riservati sono per eventuali autorità, VIP o parenti/familiari/amici, anche in eventi mondani o concerti importanti si riservano 2,3 massimo 5 file. Ieri, posti riservati anche per giornalisti e addirittura per i blogger, che avevano anche buffet separati...</p> <p>Perchè ?!</p> <p>Questa cosa mi ha molto più che infastidito, è come se andassi a S.Siro al concerto di Ligabue ed una volta arrivato scopro che il prato ed il primo anello sono completamente riservati, ed io che mi sono alzato alle 7 per essere lì in anticipo devo accontentarmi di ciò che resta.</p> <p>In conclusione : contenuti e relatori voto 10, organizzazione voto 2.</p> <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:84233f6f-100e-430c-a29d-849793fe0f3b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tag: <a href="http://technorati.com/tags/MIX" rel="tag">MIX</a>,<a href="http://technorati.com/tags/microsoft" rel="tag">microsoft</a>,<a href="http://technorati.com/tags/evento" rel="tag">evento</a></div><img src="http://blogs.ugidotnet.org/luke/aggbug/92363.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2008/04/24/mix-bello.perograve.aspx Thu, 24 Apr 2008 14:10:41 GMT http://blogs.ugidotnet.org/luke/archive/2008/04/24/mix-bello.perograve.aspx#feedback 2 http://blogs.ugidotnet.org/luke/comments/commentRss/92363.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/92363.aspx Entity Framework non solo per SQL Server http://blogs.ugidotnet.org/luke/archive/2007/12/18/entity-framework-non-solo-per-sql-server.aspx <p>Finalmente cominciano ad apparire i primi ADO.NET provider, con il supporto per Entity Framework, anche per altri DBMS oltre a Microsoft SQL Server.</p> <p>Qui l'annuncio: <br /><a title="http://blogs.msdn.com/adonet/archive/2007/12/17/the-ado-net-entity-framework-not-just-for-sql-server.aspx" href="http://blogs.msdn.com/adonet/archive/2007/12/17/the-ado-net-entity-framework-not-just-for-sql-server.aspx">http://blogs.msdn.com/adonet/archive/2007/12/17/the-ado-net-entity-framework-not-just-for-sql-server.aspx</a></p> <p> <br />Si nota, IMHO, la rumorosa assenza di Oracle, che non sviluppa ancora il proprio .NET Data provider nativo per aggiunger il supporto ad EF. <br />Fortunatamente ci sono altre società che lo stanno facendo, però...</p> <p> </p> <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2a8cf01a-7e85-423f-b831-b3975e35fb45" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tag: <a href="http://technorati.com/tags/EntityFramework" rel="tag">EntityFramework</a>,<a href="http://technorati.com/tags/ADO.NET" rel="tag">ADO.NET</a>,<a href="http://technorati.com/tags/Oracle" rel="tag">Oracle</a></div><img src="http://blogs.ugidotnet.org/luke/aggbug/90330.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2007/12/18/entity-framework-non-solo-per-sql-server.aspx Tue, 18 Dec 2007 11:38:45 GMT http://blogs.ugidotnet.org/luke/archive/2007/12/18/entity-framework-non-solo-per-sql-server.aspx#feedback 1 http://blogs.ugidotnet.org/luke/comments/commentRss/90330.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/90330.aspx Thank you http://blogs.ugidotnet.org/luke/archive/2007/12/10/thank-you.aspx <p>Qualche manciata di minuti fa, ho ricevuto sulla mia scrivania il 'CRYSTAL CUBE' di ringraziamento per il betatest di Visual Studio 2008.</p> <p>Beh che dire, grazie ;-)</p> <p>Alcune curiosità:</p> <p>- l'importer è <a href="http://blogs.ugidotnet.org/corrado/Default.aspx" target="_blank">Corrado Cavalli</a> ;-) <br />- l'invio è costato 36.80 USD: considerando quanti ne avranno inviati...ma quanto gli sono costati i ringraziamenti ? <br /> <br /></p> <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9c142860-eb56-4b9c-8116-08baca66c0e9" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tag: <a href="http://technorati.com/tags/VS2008" rel="tag">VS2008</a>,<a href="http://technorati.com/tags/beta" rel="tag">beta</a>,<a href="http://technorati.com/tags/feedback" rel="tag">feedback</a></div><img src="http://blogs.ugidotnet.org/luke/aggbug/90194.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2007/12/10/thank-you.aspx Mon, 10 Dec 2007 13:50:06 GMT http://blogs.ugidotnet.org/luke/archive/2007/12/10/thank-you.aspx#feedback 2 http://blogs.ugidotnet.org/luke/comments/commentRss/90194.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/90194.aspx .NET Data provider http://blogs.ugidotnet.org/luke/archive/2007/06/14/81742.aspx <p>Io mi chiedo perchè un'azienda come IBM, non decida di rilasciare gratuitamente il proprio IBM DB2 UDB Data provider, o almeno una versione redist.</p> <p>Allo stato attuale l'unica possibilità è quella di avere una licenza di iSeries Access ed eseguire il setup custom su ogni client che deve utilizzare l'eventuale applicativo .NET.</p> <p>Purtroppo non basta aggiungere la .dll del provider nelle reference, perchè a runtime cerca delle altre .dll che vengono installate (e registrate) solo dal setup.</p> <p>Esiste una Windows(r) Installer Technology Preview della V5.4, disponibile <a target="_blank" href="http://www-03.ibm.com/servers/eserver/iseries/access/windows/tech_preview.html">qui</a> , però comunque in produzione richiede una licenza.</p> <p>Non sarebbe meglio rilasciare una versione redistributable ?<br /> Almeno un client setup del solo data provider, in stile Oracle, anche se<br /> l'optimum sarebbe una o più .dll, della serie xcopy deployment, così basterebbe una reference e via.</p> <p>Misteri del marketing, scarsa organizzazione interna o semplice 'miopia' commerciale ?<br /><br /> <a rel="tag" href="http://technorati.com/tag/IBM">IBM</a>,<a rel="tag" href="http://technorati.com/tag/ADO.NET">ADO.NET</a></p><img src="http://blogs.ugidotnet.org/luke/aggbug/81742.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2007/06/14/81742.aspx Thu, 14 Jun 2007 12:24:00 GMT http://blogs.ugidotnet.org/luke/archive/2007/06/14/81742.aspx#feedback 5 http://blogs.ugidotnet.org/luke/comments/commentRss/81742.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/81742.aspx A caval donato... http://blogs.ugidotnet.org/luke/archive/2007/04/19/75958.aspx <P>...non si dovrebbe guardare in bocca dice il proverbio, ed invece come sempre, va beh dai diciamo quasi sempre, per una buona azione ricevi solo schiaffi!</P> <P>Dopo circa 2 anni dal rilascio di un piccolo software di analisi dei log di squid (squid-cache, un proxy server open source),&nbsp;che avevo realizzato per una mia esigenza lavorativa,e` giunto il momento di fare un piccolo bilancio della mia avventura, e purtroppo non posso considerarla un'esperienza entusiasmante.</P> <P>Ricapitolando brevemente, circa 2 anni fa ho realizzato questo semplice ma abbastanza completo programmino di analisi dei log di squid, perche` mi servivano delle informazioni che altri software simili non erano in grado di fornirmi.<BR>Dato che il risultato era buono, ho deciso di pubblicarlo sul mio sito personale, che utilizzo come storage di tutto cio` che puo` servirmi quando sono in giro, rilasciandolo sotto licenza Creative Commons.<BR><BR>Nel frattempo ho provveduto, sfruttando il mio pochissimo tempo libero, a tenerlo aggiornato e ad aggiungere nuove funzionalita': e' cosi' che sono passato dal framework 1.1 al 2.0, da un singolo database come archivio al supporto di piu' database, supporto multilingua, e via discorrendo</P> <P>Ecco alcuni numeri:<BR><BR>Downloads (sommando le varie versioni ed i download da siti come download.com)<BR>- oltre 5000<BR>Messaggi sul forum (tra quello attuale e quello precedente che ho purtroppo perso)<BR>- circa 200<BR>Ringraziamenti ricevuti<BR>- 0<BR>Donazioni ricevute<BR>- 0<BR><BR>E fino a qui nessun problema, non era un'attivita' a scopo di lucro, e men che meno un tentativo per raccogliere complimenti; poi qualche mese fa ricevo un messaggio di un tizio tedesco che tutto incazzato mi faceva notare che la versione localizzata nella sua lingua conteneva parecchi errori di traduzione !!?<BR>Gentilmente gli ho fatto presente che non conoscendo la sua lingua, mi ero basato su uno strumento di traduzione automatico (google): ho anche aggiunto che in effetti le parti localizzate non erano poi molte, e gli ho chiesto se era disponibile a correggere le traduzioni errate che gli avrei inviato in un file di testo.<BR>Beh ad oggi, non mi ha neanche risposto, neanche un &#8220;no grazie&#8221;, ed in piu' ha ripostato sul forum lo stesso messaggio con un tono ancora piu' incazzoso!<BR><BR>Oggi poi, la classica goccia : altro messaggio, ancora da un tedesco (spero sia un caso!) sempre con toni ostili, alche' sapete cosa vi dico : ma vaff...... @###@%&amp;*@#<BR><BR>Questo non fa altro che avvalorare la mia tesi riguardo open source e software free in generale: il 70% (e sono molto ottimista) degli utilizzatori di software free, sono degli approfittatori che utilizzano dei prodotti a costo 0, fregandosene del sudore buttato da chi l'ha realizzato ed avendo pure l'arroganza di lamentarsene se hanno qualche bug!!!<BR><BR>E sapete perche' ne sono cosi' convinto ? Perche' io appartengo a quel 70%, e me ne sono reso conto solo scrivendo questo post; giornalmente utilizzo prodotti free o open source, e credo di non aver mai ringraziato nessuno dei loro autori (non e' vero, qualcuno si' ;-) )<BR><BR>Io credo che da oggi il mio comportamento cambiera' radicalmente, ho capito che a volte un, &#8220;Grazie&#8221;, sincero, vale piu' di quello che sembra...</P><img src="http://blogs.ugidotnet.org/luke/aggbug/75958.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2007/04/19/75958.aspx Thu, 19 Apr 2007 18:16:00 GMT http://blogs.ugidotnet.org/luke/archive/2007/04/19/75958.aspx#feedback 2 http://blogs.ugidotnet.org/luke/comments/commentRss/75958.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/75958.aspx Migrazione dominio da Windows 2000 a Windows 2003 R2 http://blogs.ugidotnet.org/luke/archive/2007/02/10/70339.aspx <p>Se si tenta di aggiungere un domain controller Windows 2003 R2 (Enterprise nel mio caso) come controller aggiuntivo ad un dominio Windows 2000, al fine di aggiornarlo, si ottiene un errore in fase di promozione del server 2003 R2, il seguente :<br><br>"The version of the Active Directory schema of the source forest is not compatible with the version of Active Directory on this computer."</p> <p>Questo perchè per la versione R2, il comando adprep (/forestprep e /domainprep) non è quello nella cartella i386 del CD1 (come per Windows 2003 diciamo prima versione) bensì quello che si trova nel CD2 in CMPNENTS\R2\ADPREP, come indicato nella seguente KB</p> <p><a href="http://support.microsoft.com/default.aspx/kb/917385">http://support.microsoft.com/default.aspx/kb/91738...</a></p><img src="http://blogs.ugidotnet.org/luke/aggbug/70339.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2007/02/10/70339.aspx Sat, 10 Feb 2007 11:27:00 GMT http://blogs.ugidotnet.org/luke/archive/2007/02/10/70339.aspx#feedback http://blogs.ugidotnet.org/luke/comments/commentRss/70339.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/70339.aspx Vista Ultimate prime impressioni Microsoft Windows Vista http://blogs.ugidotnet.org/luke/archive/2007/01/12/66297.aspx <p>Oggi ho finalmente trovato il tempo per installare Windows Vista (nella versione Ultimate) sul mio vecchissimo portatile (che presto verrà finalmente pensionato) un Compaq Presario 2800 di 5 anni fa...</p> <p>Devo dire che le prime impressioni sono davvero ottime, nonostante il pc sia davvero obsoleto (unico punto a favore il giga di RAM!) le prestazioni non si discostano affatto da XP Pro SP2, anzi in certe operazioni mi sembra davvero più veloce.</p> <p>Avevo già provato diverse versioni preliminari, e mi era sembrato molto più avido di RAM, tesi sostenuta anche da alcuni nomi di spicco del panorama IT internazionale, invece devo dire che 1 Gb basta,ma non ne avanza! (tenendo sempre presente che sto parlando della versione Ultimate, il top, su un portatile davvero vecchio)</p> <p>Probabilmente le prestazioni godono anche del fatto che non sto utilizzando Aero (la mia scheda video, una ATI Radeon Mobility 7500, purtroppo non la supporta)</p> <p>Il mio <a target="_blank" href="http://www.avast.com/">Avast antivirus</a> funziona egregiamente e non mi ha dato alcun problema in fase di installazione.</p> <p>Last but not least, UAC : fantastico!<br /> Finalmente, quando qualche utente chiamerà lamentando il fatto che il tal applicativo non funziona più, spergiurando di non aver installato niente, gli crederò : perchè da Vista in poi NON POTRA' PIU' FARLO!!! <br /> Ovviamente a patto che i signori amministratori di rete installino tutti standard users (ma per quanto riguarda i nostri utenti sono certo che sarà così!!!) <br /><br />Tags: <a rel="tag" href="http://technorati.com/tag/Vista">Vista</a></p><img src="http://blogs.ugidotnet.org/luke/aggbug/66297.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2007/01/12/66297.aspx Fri, 12 Jan 2007 16:52:00 GMT http://blogs.ugidotnet.org/luke/archive/2007/01/12/66297.aspx#feedback 25 http://blogs.ugidotnet.org/luke/comments/commentRss/66297.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/66297.aspx TCP/IP netmask in soldoni http://blogs.ugidotnet.org/luke/archive/2006/12/11/58948.aspx <p>Bell'articolo, non saprei spiegarlo meglio,me lo appunto caso mai dovessi spiegare a qualcuno a cosa serve e come funziona la sub-netmask ;-)</p> <p><a href="http://www.ebruni.it/docs/la_netmask_spiegata_a_mia_figlia/index.htm">http://www.ebruni.it/docs/la_netmask_spiegata_a_mi...</a></p><img src="http://blogs.ugidotnet.org/luke/aggbug/58948.aspx" width="1" height="1" /> Luca Beretta http://blogs.ugidotnet.org/luke/archive/2006/12/11/58948.aspx Mon, 11 Dec 2006 19:40:00 GMT http://blogs.ugidotnet.org/luke/archive/2006/12/11/58948.aspx#feedback 1 http://blogs.ugidotnet.org/luke/comments/commentRss/58948.aspx http://blogs.ugidotnet.org/luke/services/trackbacks/58948.aspx