Luca's blog http://blogs.ugidotnet.org/yorik/Default.aspx ...exception! it-IT Luca Cavicchioli Subtext Version 2.6.0.0 Luca's blog http://blogs.ugidotnet.org/images/RSS2Image.gif http://blogs.ugidotnet.org/yorik/Default.aspx 77 60 The broken window theory http://blogs.ugidotnet.org/yorik/archive/2009/09/02/the-broken-window-theory.aspx <div><font face="Arial"><font size="2"><em>If a window in a building is broken and is left unrepaired, all the rest of the windows will soon be broken (…) one unrepaired broken window is a signal that no one cares, and so breaking more windows costs nothing</em> (Wilson e Kelling, 1982). </font></font></div> <p> </p> <p><em><strong>Extract from The Pragmatic Programmer Copyright © 2000 Addison Wesley Longman, Inc.</strong></em></p> <div><font size="2" face="Arial"><a title="http://www.pragprog.com/the-pragmatic-programmer/extracts/software-entropy&#xD;&#xA;Ctrl + clic per seguire il collegamento" href="http://www.pragprog.com/the-pragmatic-programmer/extracts/software-entropy">http://www.pragprog.com/the-pragmatic-programmer/extracts/software-entropy</a></font></div> <div><font size="2" face="Arial"> </font></div> <div><font size="2" face="Arial">While software development is immune from almost all physical laws, entropy hits us hard. Entropy is a term from physics that refers to the amount of "disorder" in a system. Unfortunately, the laws of thermodynamics guarantee that the entropy in the universe tends toward a maximum. When disorder increases in software, programmers call it "software rot."</font></div> <div> <p>There are many factors that can contribute to software rot. The most important one seems to be the psychology, or culture, at work on a project. Even if you are a team of one, your project's psychology can be a very delicate thing. Despite the best laid plans and the best people, a project can still experience ruin and decay during its lifetime. Yet there are other projects that, despite enormous difficulties and constant setbacks, successfully fight nature’s tendency toward disorder and manage to come out pretty well.</p> <p>What makes the difference?</p> <p>In inner cities, some buildings are beautiful and clean, while others are rotting hulks. Why? Researchers in the field of crime and urban decay discovered a fascinating trigger mechanism, one that very quickly turns a clean, intact, inhabited building into a smashed and abandoned derelict .</p> <p>A broken window.</p> <p>One broken window, left unrepaired for any substantial length of time, instills in the inhabitants of the building a sense of abandonment - a sense that the powers that be don’t care about the building. So another window gets broken. People start littering. Graffiti appears. Serious structural damage begins. In a relatively short space of time, the building becomes damaged beyond the owner’s desire to fix it, and the sense of abandonment becomes reality.</p> <p>The "Broken Window Theory" has inspired police departments in New York and other major cities to crack down on the small stuff in order to keep out the big stuff. It works: keeping on top of broken windows, graffiti, and other small infractions has reduced the serious crime level.</p> <blockquote> <p><strong>Don’t Live with Broken Windows</strong></p> </blockquote> <p>Don’t leave "broken windows (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up. Perhaps you can comment out the offending code, or display a "Not Implemented" message, or substitute dummy data instead. Take some action to prevent further damage and to show that you’re on top of the situation.</p> <p>We’ve seen clean, functional systems deteriorate pretty quickly once windows start breaking. There are other factors that can contribute to software rot, and we’ll touch on some of them elsewhere, but neglect accelerates the rot faster than any other factor.</p> <p>You may be thinking that no one has the time to go around cleaning up all the broken glass of a project. If you continue to think like that, then you’d better plan on getting a dumpster, or moving to another neighborhood. Don’t let entropy win.</p> <h4><font size="2">Putting Out Fires</font></h4> <p>By contrast, there’s the story of an obscenely rich acquaintance of Andy’s. His house was immaculate, beautiful, loaded with priceless antiques, objets d’art, and so on. One day, a tapestry that was hanging a little too close to his living room fireplace caught on fire. The fire department rushed in to save the day - and his house. But before they dragged their big, dirty hoses into the house, they stopped - with the fire raging - to roll out a mat between the front door and the source of the fire.</p> <p>They didn’t want to mess up the carpet.</p> <p>A pretty extreme case, to be sure, but that’s the way it must be with software. One broken window - a badly designed piece of code, a poor management decision that the team must live with for the duration of the project - is all it takes to start the decline. If you find yourself working on a project with quite a few broken windows, it’s all too easy to slip into the mindset of "All the rest of this code is crap, I’ll just follow suit." It doesn’t matter if the project has been fine up to this point. In the original experiment leading to the "Broken Window Theory," an abandoned car sat for a week untouched. But once a single window was broken, the car was stripped and turned upside down within hours.</p> <p>By the same token, if you find yourself on a team and a project where the code is pristinely beautiful - cleanly written, well designed, and elegant - you will likely take extra special care not to mess it up, just like the firefighters. Even if there’s a fire raging (deadline, release date, trade show demo, etc.), you don’t want to be the first one to make a mess.</p> <h4><font size="2">Challenges</font></h4> <ul> <li>Help strengthen your team by surveying your computing "Neighborhood." Choose two or three "broken windows" and discuss with your colleagues what the problems are and what could be done to fix them.</li> </ul> <ul> <li>Can you tell when a window first gets broken? What is your reaction? If it was the result of someone else’s decision, or a management edict, what can you do about it?</li> </ul> </div><img src="http://blogs.ugidotnet.org/yorik/aggbug/96986.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2009/09/02/the-broken-window-theory.aspx Wed, 02 Sep 2009 02:30:10 GMT http://blogs.ugidotnet.org/yorik/archive/2009/09/02/the-broken-window-theory.aspx#feedback http://blogs.ugidotnet.org/yorik/comments/commentRss/96986.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/96986.aspx Post-ino "display:none" vs "visibility:hidden" http://blogs.ugidotnet.org/yorik/archive/2009/05/19/post-ino-displaynone-vs-visibilityhidden.aspx <p><font face="">Dato che non me lo ricordo mai:</font></p> <p><font face="">Nello style, differenza tra <font face="Courier New">Style="display:none" </font>e <font face="Courier New"><font face="Courier New">Style="</font>visibility:hidden"</font></font><font face="">:</font><font face="Arial" /></p> <p><font face="Arial">Con <font face="Courier New">display:none</font> un elemento non verrà renderizzato e quindi non occuperà spazio nella pagina. Con <font face="Courier New">visibility:hidden</font> un elemento non verrà mostrato, ma occuperà lo spazio di pagina proprio come se fosse visibile.</font></p><img src="http://blogs.ugidotnet.org/yorik/aggbug/96240.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2009/05/19/post-ino-displaynone-vs-visibilityhidden.aspx Tue, 19 May 2009 23:18:13 GMT http://blogs.ugidotnet.org/yorik/archive/2009/05/19/post-ino-displaynone-vs-visibilityhidden.aspx#feedback http://blogs.ugidotnet.org/yorik/comments/commentRss/96240.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/96240.aspx Generazione documenti PDF da template (PDF Forms) con iTextSharp http://blogs.ugidotnet.org/yorik/archive/2009/05/18/generazione-documenti-pdf-da-template-pdf-forms-con-itextsharp.aspx <p><font face="">Ammetto la mia ignoranza... Non sapevo che esistessero i PDF Forms!</font></p> <p><font face=""><strong>Intanto cosa sono e come si possono creare</strong></font></p> <p>Un Form PDF, come dice il nome, è un documento PDF contenente alcuni campi compilabili o selezionabili dall'utente, tipo TextBox, Combo, CheckBox...<br /> Per creare un PDF Form, bisogna utilizzare la versione completa di Adobe Acrobat, oppure se si desidera risparmiare qualche soldo, basta utilizzare Open Office sfruttando le sue potenzialità di export PDF.<br /> Per inserire campi persoanlizzabili all'interno del documento, si utilizzano gli strumenti presenti nella toolbox "Form Controls" visualizzabile tramite "View -&gt; Toolbars -&gt; Form Controls".<br /> A questo punto basterà "disegnare" i controlli necessari direttamente nella pagina, e ovviamente dargli un nome sensato (che ci consenta di recuperarli in futuro)<br /> Una volta creato il form, sarà necessario esportarlo in PDF tramite "File -&gt; Export as PDF..." selezionando le opzioni "Create PDF Form" e "Export bookmarks" e... ecco fatto, il nostro PDF Form è pronto all'uso!.</p> <p>Nota: Per utilizzare il PDF Form come template da dare in pasto al nostro futuro programma, utilizzare come controlli i TextBox, ed eventualmente, nelle proprietà del singolo controllo (doppio click su di esso) impostare il bordo come "Without frame" così il documento generato non visualizzerà i bordi delle caselle di testo.</p> <p><strong>Come si possono compilare da codice?</strong></p> <p>Bene, ora passiamo alla parte facile (effettivamente mi ci è voluto molto di più a capire come fare il form che a farlo compilare da iTextSharp)<br /> Supponiamo di dover compilare un form che rappresenta una fattura:</p> <p>Aggiungiamo il riferimento ad <a href="http://itextsharp.sourceforge.net/">iTextSharp</a> al nostro progetto e copia-incolliamo l'esempio seguente, il quale mostra in modo un po' grezzo, ma molto comprensibile come compilare i vari campi </p> <!-- code formatted by http://manoli.net/csharpformat/ --> <pre class="csharpcode"><span class="kwrd">string</span> pdfTemplate = <span class="str">@"c:\InvoiceForm.pdf"</span>; <span class="kwrd">string</span> newFile = <span class="str">@"c:\Invoice_Compiled.pdf"</span>; PdfReader pdfReader = <span class="kwrd">new</span> PdfReader(pdfTemplate); <span class="rem">// PdfStamper, usato per aggiungere contenuti al documento PDF. </span> <span class="rem">// In questo caso viene utilizzato per compilare campi del form, ma si può anche utilizzare per aggiungere </span> <span class="rem">// qualsiasi altro contenuto al PDF anche tramite posizione assoluta o con riferimenti tipo Top e Bottom.</span> <span class="rem">// Può essere usato per scopi tipo watermarking.</span> PdfStamper pdfStamper = <span class="kwrd">new</span> PdfStamper(pdfReader, <span class="kwrd">new</span> FileStream(newFile, FileMode.Create)); AcroFields pdfFormFields = pdfStamper.AcroFields; <span class="rem">// Per scorrere i vari campi presenti nel PDF - Non serve nell'esempio, è un reminder</span> <span class="kwrd">foreach</span> (DictionaryEntry de <span class="kwrd">in</span> pdfFormFields.Fields) Console.WriteLine(de.Key.ToString()); Console.ReadLine(); <span class="rem">// Compilazione dei campi</span> pdfFormFields.SetField(<span class="str">"txtRagioneSociale"</span>, <span class="str">"Pinco Pallo s.r.l."</span>); pdfFormFields.SetField(<span class="str">"txtIndirizzo"</span>, <span class="str">"via delle Fontane Secche, 1 - Gotham City"</span>); pdfFormFields.SetField(<span class="str">"txtPIVA"</span>, <span class="str">"0123456789"</span>); pdfFormFields.SetField(<span class="str">"txtDescrizione"</span>, <span class="str">"Acquisto 4 pneumatici Bat-Mobile"</span>); pdfFormFields.SetField(<span class="str">"txtImponibile"</span>, <span class="str">"4000"</span>); pdfFormFields.SetField(<span class="str">"txtIVA"</span>, <span class="str">"800"</span>); pdfFormFields.SetField(<span class="str">"txtTotale"</span>, <span class="str">"4800"</span>); <span class="rem">// Questa istruzione consente di rimuovere le potenzialità di editing del form, risultando</span> <span class="rem">// in un PDF non più modificabile dall'utente, se si imposta a false, il PDF risultante sarà </span> <span class="rem">// compilato ma comunque editabile dall'utente</span> pdfStamper.FormFlattening = <span class="kwrd">true</span>; <span class="rem">// CHIUDERE IL PDFSTAMPER!!! Lasciarlo aperto comporterà la produzione di un PDF corrotto</span> pdfStamper.Close(); Process.Start(newFile);</pre><img src="http://blogs.ugidotnet.org/yorik/aggbug/96214.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2009/05/18/generazione-documenti-pdf-da-template-pdf-forms-con-itextsharp.aspx Mon, 18 May 2009 13:33:28 GMT http://blogs.ugidotnet.org/yorik/archive/2009/05/18/generazione-documenti-pdf-da-template-pdf-forms-con-itextsharp.aspx#feedback 1 http://blogs.ugidotnet.org/yorik/comments/commentRss/96214.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/96214.aspx Sempre su VMWare e sistemi guest a 64bit http://blogs.ugidotnet.org/yorik/archive/2009/03/03/sempre-su-vmware-e-sistemi-guest-a-64bit.aspx <p><font size="2">Nel caso, in fase di installazione di un sistema operativo a 64 bit (Windows Server 2008) come guest di VMWare GSX e/o ESXi, si presenti un errore come quello riportato di seguito:</font></p> <p><font size="2">File: \windows\system32\boot\winload.exe<br /> Status: 0x000035a<br /> Info: Attempting to load a 64-bit application, however this cpu is not compatible with 64-bit mode.</font></p> <p><font size="2"><strong>Controllare da bios del server che la Intel Virtualization Technology (VT) sia abilitata, ovviamente per processori Intel, su AMD non esite come opzione e il supporto per la virtualizzazione è abilitato di default su</strong> <strong>Opteron revision E o successivi.</strong></font></p> <p><font size="2">L'errore potrebbe essere anche</font></p> <p><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><u>Ubuntu 8</u><br /> <span style="FONT-FAMILY: Courier New"><font size="1"><font size="2">This kernel requires an x86-64 CPU, but only detected an i686 CPU.</font></font><br /> </span></span><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><u>SLES 10</u><br /> <span style="FONT-FAMILY: Courier New">Cool Software, but... This is a 32-bit Computer. You cannot use 64-bit software on it.<br /> </span></span><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><u>Windows 2003 Server</u><br /> <span style="FONT-FAMILY: Courier New">Attempting to load an x64 operating system, however this CPU is not compatible with x64 mode. Please install a 32-bin X86 operating system.</span></span></p> <p><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><span style="FONT-FAMILY: Courier New"><font face="Arial">Inoltre, se la VT è abilitata da BIOS e il boot di macchine guest a 64bit con Paravirtualization (VMI) abilitata da errore (gli stessi mostrati prima) con la possibilità che sia indicato un errore del tipo <span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt">"Long mode is required", indica che il sistema operativo guest non offre supporto a 64 bit per VMI, quindi occorre disabilitarlo:</span></font></span></span></p> <p><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><span style="FONT-FAMILY: Courier New"><font face="Arial"><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt">Da Virtual Infrastructure Client:<br /> </span></font></span></span><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><span style="FONT-FAMILY: Courier New"><font face="Arial"><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt">- Scegliere la virtual machine incrimianta<br /> </span></font></span></span><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><span style="FONT-FAMILY: Courier New"><font face="Arial"><span style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><font face="Arial">- Edit Settings &gt; Options &gt; Advanced<br /> - Deselezionare Paravirtualization.</font></span></font></span></span></p><img src="http://blogs.ugidotnet.org/yorik/aggbug/95589.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2009/03/03/sempre-su-vmware-e-sistemi-guest-a-64bit.aspx Tue, 03 Mar 2009 12:44:33 GMT http://blogs.ugidotnet.org/yorik/archive/2009/03/03/sempre-su-vmware-e-sistemi-guest-a-64bit.aspx#feedback http://blogs.ugidotnet.org/yorik/comments/commentRss/95589.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/95589.aspx Creare un Web Service direttamente da SQL Server http://blogs.ugidotnet.org/yorik/archive/2009/01/21/creare-un-web-service-direttamente-da-sql-server.aspx <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">Un po’ di tempo fa, non ricordo dove (forse proprio qui sui blogs di UGI) ho letto della possibilità di creare un web service direttamente da SQL Server 2005/2008, esponendo una <em style="mso-bidi-font-style: normal">stored procedure </em>come endpoint, non ricordo l’autore dell'articolo, ma mi ero segnato uno dei link presenti nell’articolo originale (<a href="http://msdn.microsoft.com/it-it/library/cc185116.aspx"><font color="#800080">http://msdn.microsoft.com/it-it/library/cc185116.aspx</font></a>) che spiegava come farlo.<o:p /></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><o:p> </o:p></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">In questi giorni ho avuto la necessità di creare “al volo” un paio di web service per dei test, quindi, quale miglior modo che provare a farli direttamente da SLQ Server?<o:p /></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><o:p> </o:p></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">Quindi andiamo per ordine…<o:p /></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><o:p> </o:p></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">1 - Creare le stored procedure che si vogliono esporre.<o:p /></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><o:p> </o:p></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">2 - Esporle:</span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"> </span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt" /></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt" /></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><font face="Courier New">CREATE ENDPOINT myTestSQLEndpoint <br /> STATE = STARTED<br /> AS HTTP<br /> (<br />     PATH = '/test',<br />     AUTHENTICATION = (INTEGRATED), CLEAR_PORT = 8080,<br />     PORTS = (CLEAR),<br />     SITE = 'localhost'<br />    )<br /> FOR SOAP <br /> (<br />    WEBMETHOD 'Execute1' (name='sp_MyExposedStoredProcedure1', SCHEMA=STANDARD )<br />    WEBMETHOD 'Execute2' (name='sp_MyExposedStoredProcedure2', SCHEMA=STANDARD )<br />    WSDL = DEFAULT,<br />    SCHEMA = STANDARD,<br />    DATABASE = 'mydatabase',<br />    NAMESPACE = 'http://www.mynamespace.org/'<br />    ); <br /> GO</font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><font face="Courier New"> </font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt" /></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt" /></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">Riporto parte dell’articolo presente su msdn </span><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">che spiega il significato delle varie istruzioni:<span style="COLOR: black"><o:p /></span></span></span></p> <p style="MARGIN: 0cm 0cm 7.5pt; VERTICAL-ALIGN: top" class="MsoNormal"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">La prima parte dell’istruzione “.. AS HTTP …” definisce tutte le informazioni relative al protocollo di trasmissione, l’eventuale porta di comunicazione e la modalità di autenticazione.<o:p /></span></p> <p style="MARGIN: 0cm 0cm 7.5pt; VERTICAL-ALIGN: top" class="MsoNormal"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">PATH: l’URL virtuale dove risiederà il nostro web service.<o:p /></span></p> <p style="MARGIN: 0cm 0cm 7.5pt; VERTICAL-ALIGN: top" class="MsoNormal"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">PORTS: specifica l’utilizzo del protocollo HTTP su porta 80 di default, piuttosto che HTTPS (SSL, con porta 443 di default).<o:p /></span></p> <p style="MARGIN: 0cm 0cm 7.5pt; VERTICAL-ALIGN: top" class="MsoNormal"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">SITE: il nome del server dove il nostro WS sta girando.<o:p /></span></p> <p style="MARGIN: 0cm 0cm 7.5pt; VERTICAL-ALIGN: top" class="MsoNormal"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">La seconda parte “… FOR SOAP…” definisce i metodi che saranno resi disponibili all’esterno, la tipologia di WSDL, il database di utilizzo.<o:p /></span></p> <p style="MARGIN: 0cm 0cm 7.5pt; VERTICAL-ALIGN: top" class="MsoNormal"><span style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 9pt">Da ricordare che le istruzioni sugli oggetti ENDPOINT possono essere compiute solo da:<o:p /></span></p> <ul style="MARGIN-TOP: 0cm" type="disc"> <li style="MARGIN: 0cm 0cm 7.5pt; COLOR: black; VERTICAL-ALIGN: top; tab-stops: list 36.0pt; mso-list: l0 level1 lfo1" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">Membri appartenenti al ruolo sysadmin<o:p /></span> </li> <li style="MARGIN: 0cm 0cm 7.5pt; COLOR: black; VERTICAL-ALIGN: top; tab-stops: list 36.0pt; mso-list: l0 level1 lfo1" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">Proprietari degli ENDPOINT<o:p /></span> </li> <li style="MARGIN: 0cm 0cm 7.5pt; COLOR: black; VERTICAL-ALIGN: top; tab-stops: list 36.0pt; mso-list: l0 level1 lfo1" class="MsoNormal"><span style="FONT-FAMILY: Arial; FONT-SIZE: 9pt">Utenti ( gruppi) a cui è stato concesso il CONNECT sull’ENDPOINT<o:p /></span> </li> </ul><img src="http://blogs.ugidotnet.org/yorik/aggbug/95265.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2009/01/21/creare-un-web-service-direttamente-da-sql-server.aspx Wed, 21 Jan 2009 13:50:50 GMT http://blogs.ugidotnet.org/yorik/archive/2009/01/21/creare-un-web-service-direttamente-da-sql-server.aspx#feedback 3 http://blogs.ugidotnet.org/yorik/comments/commentRss/95265.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/95265.aspx XML troncato, quando letto tramite datareader http://blogs.ugidotnet.org/yorik/archive/2009/01/16/xml-troncato-quando-letto-tramite-datareader.aspx <p><font face="Arial">A futura memoria...</font></p> <p><font face="Arial">Premessa: il problema nasce se utilizziamo un datareader per recuperare il risultato di una query SQL (o di una stored procedure) fatta con il suffisso FOR XML.</font></p> <p><font face="Arial">Io, mi immaginavo che con un semplice ExecuteScalar sul Command potessi recuperare il risultato sotto forma di stringa, ovvero un paio di righe come quelle qui sotto potessero bastare, e invece no!!! :-)</font></p> <!-- code formatted by http://manoli.net/csharpformat/ --> <pre class="csharpcode"> SqlCommand cmd = <span class="kwrd">new</span> SqlCommand(<span class="str">"sp_CreazioneXML"</span>, cn); cmd.CommandType = CommandType.StoredProcedure; <span class="kwrd">string</span> xml = cmd.ExecuteScalar().ToString(); </pre> <p><font face="Arial" /></p> <font face="Arial">La cosa bastarda è che tutto funziona bene, e l'XML viene estratto correttamente, ma "qualche volta" viene troncato.<br /> Dopo un po' di ricerche tramite San Google, mi sono imbattuto in alcuni aricoli della KB Microsoft che spiegavano che SQL Server, divide i risultati di query FOR XML più lunghi di 2033 caratteri in più rows e quindi ritorna N righe di 2033 caratteri ognuna.</font> <p> </p> <p><font face="Arial">...La soluzione... <br /> utilizzare un normale <font face="Courier New">command.ExecuteReader</font> e "<font face="Courier New">while(reader.Read())</font>" accodare tutto in uno StringBuilder, oppure qualcosa di molto simile (non so se più performante o meno... ma mi andava di usare cmd.ExecuteXmlReader :-) )</font></p> <!-- code formatted by http://manoli.net/csharpformat/ --> <pre class="csharpcode"> SqlCommand cmd = <span class="kwrd">new</span> SqlCommand(<span class="str">"sp_CreazioneXML"</span>, cn); cmd.CommandType = CommandType.StoredProcedure; cn.Open(); XmlReader rdr = cmd.ExecuteXmlReader(); rdr.Read(); StringBuilder sb = <span class="kwrd">new</span> StringBuilder(); <span class="kwrd">while</span> (rdr.ReadState != ReadState.EndOfFile) sb.Append(rdr.ReadOuterXml()); rdr.Close(); XmlDocument doc = <span class="kwrd">new</span> XmlDocument(); doc.LoadXml(sb.ToString()); </pre> <p><font face="Arial" /></p> <font face="Arial">Rif: <br /> http://support.microsoft.com/default.aspx?scid=kb;en-us;310378</font> <p> </p><img src="http://blogs.ugidotnet.org/yorik/aggbug/95216.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2009/01/16/xml-troncato-quando-letto-tramite-datareader.aspx Fri, 16 Jan 2009 11:47:16 GMT http://blogs.ugidotnet.org/yorik/archive/2009/01/16/xml-troncato-quando-letto-tramite-datareader.aspx#feedback http://blogs.ugidotnet.org/yorik/comments/commentRss/95216.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/95216.aspx Icone siti compatibili con iPhone http://blogs.ugidotnet.org/yorik/archive/2008/09/04/icone-siti-compatibili-con-iphone.aspx <p><font face="Arial">Dato che ormai l'iPhone è nelle tasche di molti (almeno nelle mie c'è già da quasi un anno :-) ) ecco una guida per come creare icone compatibili con la springboard del melafonino da inserire nel proprio sito web:</font></p> <p><font face="Arial"><a href="http://www.ianhoar.com/2008/08/30/create-a-custom-iphone-icon-for-your-website/">http://www.ianhoar.com/2008/08/30/create-a-custom-iphone-icon-for-your-website/</a></font></p> <p>in riepilogo veloce:</p> <p>Creare un'icona di 57×57 in formato <em>.png</em> <br /> Salvarla nella root del proprio sito con il nome “apple-touch-icon.png” </p> <p>Link e guida segnalato oggi da <font face="Arial"><a href="http://www.iphoneitalia.com/">http://www.iphoneitalia.com/</a></font></p><img src="http://blogs.ugidotnet.org/yorik/aggbug/93932.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2008/09/04/icone-siti-compatibili-con-iphone.aspx Thu, 04 Sep 2008 06:42:10 GMT http://blogs.ugidotnet.org/yorik/archive/2008/09/04/icone-siti-compatibili-con-iphone.aspx#feedback 1 http://blogs.ugidotnet.org/yorik/comments/commentRss/93932.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/93932.aspx Menu ASP.Net 2.0 e browser Safari http://blogs.ugidotnet.org/yorik/archive/2008/07/24/menu-asp.net-2.0-e-browser-safari.aspx <p><font face="Arial"><strong>Problema:</strong> Il menu di ASP.Net 2.0 (e immagino successivi, ma nn ho testato) su Safari, anche nell'ultima versione 3.1.1 (Win, per mac la versione nn so se è la stessa, ma il problema c'è cmq) non viene renderizzato correttamente, o forse sarebbe meglio dire che non viene proprio renderizzato.</font></p> <p><font face="Arial"><strong>Soluzione:</strong> Perso nei meandri delle ricerche, come al solito San Google mi è venuto in aiuto e sembra sia un problema abbastanza noto.<br /> Le soluzioni proposte sono sostanzialmente due:</font></p> <p><font face="Arial"><strong>1)</strong> Modificare il file .browser relativo a Safari per modificarne le browser capabilities<br /> </font><font face="Arial">Soluzione scelta da me in quanto il sito è già in produzione e non posso al momento fare modifiche al codice:</font></p> <p><font face="Arial">- Nella cartella [DRIVE]:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers editare il file 'mozilla.browser'<br /> - Cercare la sezione:   </font></p> <pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">browser</span> <span class="attr">id</span><span class="kwrd">="Safari"</span> <span class="attr">parentID</span><span class="kwrd">="Gecko"</span><span class="kwrd">&gt;</span></pre> - Eliminare (o remmare) la parte: <pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">controlAdapters</span><span class="kwrd">&gt;</span> <span class="kwrd">&lt;</span><span class="html">adapter</span> <span class="attr">controlType</span><span class="kwrd">="System.Web.UI.WebControls.Menu"</span> <span class="attr">adapterType</span><span class="kwrd">="System.Web.UI.WebControls.Adapters.MenuAdapter"</span> <span class="kwrd">/&gt;</span> <span class="kwrd">&lt;/</span><span class="html">controlAdapters</span><span class="kwrd">&gt;</span></pre> <p><font face="Arial">- Da riga di comando lanciare [DRIVE]:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regbrowsers.exe -i</font></p> <p><font face="Arial">...e tutto magicamente funziona!</font></p> <p><font face="Arial">Nota, se ci si trova su un sistema a 64bit effettuare la stessa serie di operazioni anche per il file mozilla.browser contenuto nella cartella Framework64</font></p> <p><font face="Arial">Ref. e thanks-to:  <a href="http://www.big-o.org/?p=20">http://www.big-o.org/?p=20</a></font></p> <font face="Arial"> <p><br /> <strong>2)</strong> Riporto la soluzione che vari siti/forum espongono, ma nn l'ho testata (anche se lo farò presto dato che se sarà efficace, la includerò nelle pagine base da cui ereditano tutte le pagine delle mie applicazioni)</p> <p>Inserire in ogni pagina, o sicuramente meglio in una pagina base da cui ereditano tutte le altre:</p> <pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">class</span> PageBase: Page { <span class="kwrd">public</span> PageBase() {} <span class="kwrd">protected</span> <span class="kwrd">void</span> Page_PreInit(<span class="kwrd">object</span> sender, EventArgs e) { <span class="kwrd">if</span> (Request.ServerVariables[<span class="str">"http_user_agent"</span>].IndexOf(<span class="str">"Safari"</span>, StringComparison.CurrentCultureIgnoreCase) != -1) Page.ClientTarget = <span class="str">"uplevel"</span>; } } </pre> <p>Inoltre c'è chi suggeriva di inserire ClientTarget="uplevel" nelle direttive di pagina, ovviamente in ogni pagina!</p> <pre class="csharpcode">&lt;%@ Page ClientTarget=<span class="str">"uplevel"</span> ......%&gt;</pre> <p>...vedremo....</p> <p>P.S.: Per chi volesse addentrarsi nella scrittura di un proprio file .browser, segnalo <a href="http://msdn.microsoft.com/en-us/library/ms228122.aspx">http://msdn.microsoft.com/en-us/library/ms228122.aspx</a></p> </font><img src="http://blogs.ugidotnet.org/yorik/aggbug/93516.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2008/07/24/menu-asp.net-2.0-e-browser-safari.aspx Thu, 24 Jul 2008 00:04:11 GMT http://blogs.ugidotnet.org/yorik/archive/2008/07/24/menu-asp.net-2.0-e-browser-safari.aspx#feedback http://blogs.ugidotnet.org/yorik/comments/commentRss/93516.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/93516.aspx La mia guida per la configurazione di Mono e Apache http://blogs.ugidotnet.org/yorik/archive/2008/07/21/la-mia-guida-per-la-configurazione-di-mono-e-apache.aspx <h1 style="MARGIN: 12pt 0cm 3pt"><font size="4" face="Tahoma">Pre-Requisiti</font></h1> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="3" face="Tahoma" /></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Il sistema di riferimento è SUSE Linux (sia OpenSUSE che SLED o SLES) </font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma"> </font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma"><o:p /></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Apache 2.2 </font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2">Nota: Il servizio si chiama apache2, per gestire il servizio usare: <span style="FONT-FAMILY: &quot;Courier New&quot;; mso-ansi-language: EN-US" lang="EN-US">service apache2 {start|stop|restart}</span><span style="mso-ansi-language: EN-US" lang="EN-US"><o:p /></span></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Installare i pacchetti di Mono (scaricabili tramite YaST2 *), in particolare controllare di aver incluso nell’installazione:</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">xsp</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">mono-core</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">mono-web</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Una volta installato Mono il caricamento di mod_mono.conf (il file di configurazione di mod_mono, plug-in per ASP.Net di Apache) dovrebbe avvenire automaticamente in quanto il file si trova nella directory “/etc/apache2/conf.d”</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Per verificare l’esecuzione di mono all’avvio: <span style="FONT-FAMILY: &quot;Courier New&quot;">ps –A</span> e dovrebbe mostrare i processi http2 (o http2-prefork) e mono.</font></p> <h1 style="MARGIN: 12pt 0cm 3pt"><font size="4" face="Tahoma">Configurazione del server</font></h1> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">E’ buona norma tenere la configurazione custom del server in un file separato, di solito “/etc/apache2/httpd.conf.local”</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Per far si che Apache carichi anche questo file di configurazione la procedura corretta è intervenire nel file “/etc/sysconfig/apache2” come suggerito in httpd.conf</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="3"><font face="Times New Roman"> <o:p /></font></font></p> <div style="BORDER-BOTTOM: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BACKGROUND: #d9d9d9; BORDER-TOP: windowtext 0.5pt solid; BORDER-RIGHT: windowtext 0.5pt solid; PADDING-TOP: 1pt"> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2"># Note: instead of adding your own configuration here, consider<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2">#<span style="mso-spacerun: yes">       </span>adding it in your own file (/etc/apache2/httpd.conf.local)<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2">#<span style="mso-spacerun: yes">       </span>putting its name into APACHE_CONF_INCLUDE_FILES in<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2">#<span style="mso-spacerun: yes">       </span>/etc/sysconfig/apache2 -- this will make system updates<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: DE" lang="DE"><font face="Courier New"><font size="2">#<span style="mso-spacerun: yes">       </span>easier :)<o:p /></font></font></span></p> </div> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-ansi-language: DE" lang="DE"><font size="3"><font face="Times New Roman"> <o:p /></font></font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-ansi-language: DE" lang="DE"><font size="3"><font face="Times New Roman">APACHE_CONF_INCLUDE_FILES="/etc/apache2/httpd.conf.local"<o:p /></font></font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-ansi-language: DE" lang="DE"><font size="3"><font face="Times New Roman"><o:p /></font></font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-ansi-language: DE" lang="DE"><font size="3"><font face="Times New Roman"> <o:p /></font></font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2"><font face="Tahoma"><u>Nota:</u> </font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">NON intervenire nel file “/etc/apache2/sysconfig.d/include.conf” perché è quello utilizzato dalla variabile APACHE_CONF_INCLUDE_FILES e ogni volta viene sovrascritto</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="3"><font face="Times New Roman"> <o:p /></font></font></p> <div style="BORDER-BOTTOM: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BACKGROUND: #d9d9d9; BORDER-TOP: windowtext 0.5pt solid; BORDER-RIGHT: windowtext 0.5pt solid; PADDING-TOP: 1pt"> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2"># The file below is generated from /etc/sysconfig/apache2,<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2"># include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2"># APACHE_CONF_INCLUDE_DIRS<o:p /></font></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font face="Courier New"><font size="2">Include /etc/apache2/sysconfig.d/include.conf<o:p /></font></font></span></p> </div> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font size="3"><font face="Times New Roman"> <o:p /></font></font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">NON modificare nemmeno il file “/etc/apache2/httpd.conf.local”</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="3" face="Tahoma" /></p> <h1 style="MARGIN: 12pt 0cm 3pt"><font size="4" face="Tahoma">File di configurazione del server</font></h1> <h2 style="MARGIN: 12pt 0cm 3pt"><em><font size="3" face="Tahoma">Esempio di host</font></em></h2> <div style="BORDER-BOTTOM: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BACKGROUND: #d9d9d9; BORDER-TOP: windowtext 0.5pt solid; BORDER-RIGHT: windowtext 0.5pt solid; PADDING-TOP: 1pt"> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">#Set the server for ASP.Net 1.x and ASP.Net 2.0<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2"> <o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">MonoServerPath fw1Server "/usr/bin/mod-mono-server"<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">MonoServerPath fw2Server "/usr/bin/mod-mono-server2"<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2"> <o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">#Define the applications<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2"> <o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">Alias /myApp "/srv/www/htdocs/myApplication"<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">AddMonoApplications fw2Server "/myApp:/srv/www/htdocs/myApplication"<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">MonoSetEnv fw2Server MONO_IOMAP=all<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">&lt;Location /myApp&gt;<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>Allow from all<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>MonoSetServerAlias fw2Server<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>SetHandler mono<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>Order allow,deny<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">&lt;/Location&gt;<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"> <o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"> <o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"># enabling mod_mono console control "http://localhost/mono" – only from localhost<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">&lt;Location /mono&gt;<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>SetHandler mono-ctrl<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>Order deny,allow<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>Deny from all<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>Allow from 127.0.0.1<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">&lt;/Location&gt;<o:p /></font></span></p> </div> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma"><u>MonoServerPath:</u></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Serve per mappare i server. In questo file sono presenti due server, uno che utilizza il framework 1 e una che utilizza il framework 2</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Possono essercene anche altri e le singole applicazioni possono utilizzare server diversi (che possono tra l’altro essere gestiti singolarmente), concetto molto simile all’Application Pool di IIS.</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma"><u>AddMonoApplications:</u></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Consente di aggiungere diverse applicazioni che possono girare o meno nello stesso server mod_mono</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">È possibile utilizzarlo per avere file diversi di configurazione specificando un solo parametro (nel qual caso viene preso il server mod_mono di default che solitamente è la versione 1 del framework) oppure specificando anche il nome del server mod mono da usare (qui nominati fw1 e fw2) nel qual caso utilizza il server (e di conseguenza il framework) specificato.</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Questo consente di tenere distinti i processi (security), di tenere distinti gli oggetti Session e Application, di impostare valori differenti per utilizzo di cpu e altro.</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2">  <o:p /></font></font></p> <h2 style="MARGIN: 12pt 0cm 3pt"><em><font size="4" face="Times New Roman">Esempio di host su porta non di default</font></em></h2> <div style="BORDER-BOTTOM: windowtext 0.5pt solid; BORDER-LEFT: windowtext 0.5pt solid; PADDING-BOTTOM: 1pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 4pt; BACKGROUND: #d9d9d9; BORDER-TOP: windowtext 0.5pt solid; BORDER-RIGHT: windowtext 0.5pt solid; PADDING-TOP: 1pt"> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">Listen 8110<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2"> <o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><font size="2">&lt;VirtualHost *:8110&gt;<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><font size="2"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt"><span style="mso-spacerun: yes">    </span></span><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US">MonoServerPath default /usr/bin/mod-mono-server2<o:p /></span></font></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>Alias /MonoRoot /srv/www/monoroot<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>AddMonoApplications default "/MonoRoot:/srv/www/monoroot"<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>MonoMaxActiveRequests 3<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>MonoMaxWaitingRequests 3<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>MonoSetEnv MONO_THREADS_PER_CPU=2000<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>&lt;Location /MonoRoot&gt;<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">        </span>MonoSetServerAlias default<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">        </span>SetHandler mono<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">        </span>Allow from all<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2"><span style="mso-spacerun: yes">    </span>&lt;/Location&gt;<o:p /></font></span></p> <p style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt" class="MsoNormal"><span style="FONT-FAMILY: &quot;Courier New&quot;; FONT-SIZE: 8pt; mso-ansi-language: EN-US" lang="EN-US"><font size="2">&lt;/VirtualHost&gt;<o:p /></font></span></p> </div> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="mso-ansi-language: EN-US" lang="EN-US"><font size="3"><font face="Tahoma"> <o:p /></font></font></span></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Oltre alla porta non di default qui è sono specificati anche il numero massimo di richieste attive e di richieste in attesa oltre che al numero di threads.</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">*YasT2:</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Per aggiungere un repository:</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Nel “Control Center” di YasT, “Show Administrator Settings” e nella sezione “Software” cliccare su “Software Repositories”</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Quindi “Add”, “HTTP…” e aggiungere il repository corretto per la propria versione di OpenSUSE (lo si può trovare in </font><a href="http://www.go-mono.com/mono-downloads/download.html"><font size="2" face="Tahoma">http://www.go-mono.com/mono-downloads/download.html</font></a><font size="2" face="Tahoma">)</font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font face="Tahoma"><font size="2"> <o:p /></font></font></p> <p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="2" face="Tahoma">Per una spiegazione completa su come configurare i repositories di YAsT:</font></p> <p><span style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt; mso-ansi-language: IT; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><a href="http://en.opensuse.org/Add_Package_Repositories_to_YaST"><font size="2" face="Tahoma">http://en.opensuse.org/Add_Package_Repositories_to_YaST</font></a></span></p> <p><span style="FONT-FAMILY: Calibri; FONT-SIZE: 11pt; mso-ansi-language: IT; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"><font size="2" face="Tahoma">P.S. Grazie ad Umberto (Bubi) per avermi fornito gran parte di questa guida</font></span></p><img src="http://blogs.ugidotnet.org/yorik/aggbug/93491.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2008/07/21/la-mia-guida-per-la-configurazione-di-mono-e-apache.aspx Mon, 21 Jul 2008 21:44:42 GMT http://blogs.ugidotnet.org/yorik/archive/2008/07/21/la-mia-guida-per-la-configurazione-di-mono-e-apache.aspx#feedback http://blogs.ugidotnet.org/yorik/comments/commentRss/93491.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/93491.aspx ...Anche i template fields della GridView vengono persi dopo il postback http://blogs.ugidotnet.org/yorik/archive/2008/07/21/.anche-i-template-fields-della-gridview-vengono-persi-dopo-il.aspx <p><font face="Arial">Relativamente a questo post di Francesco Geri</font></p> <p><font face="Arial"><a href="http://blogs.ugidotnet.org/franx_blog/archive/2008/07/21/93479.aspx">La proprietà Attributes di un ListItem viene persa nel postback</a></font></p> <p><font face="Arial">in cui si segnalava appunto che la proprietà Attributes di un ListItem viene persa dopo il postback, volevo aggiungere che lo stesso problema si presenta anche nella GridView, inserendo da codice (tramite l'istruzione myGridView.Columns.Insert(0, myDataControlField); ) dei TemplateFields, ovvero questi al successivo postback non vengono ripristinati.<br /> Il problema invece non si verifica se le colonne sono aggiunte (tramite myGridView.Columns.Add(myDataControlField); )</font> </p> <p><font face="Arial">Non esiste una soluzione per il FW 2.0, e da quanto leggo nell'articolo segnalato sotto non sembra prevista soluzione per i framework successivi, però non ho verificato se il problema rimane anche sul FW 3.0 e 3.5.<br /> Il bug è documentato al seguente indirizzo:</font></p> <p><font face="Arial"><a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=104994&amp;wa=wsignin1.0">https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=104994&amp;wa=wsignin1.0</a></font></p><img src="http://blogs.ugidotnet.org/yorik/aggbug/93483.aspx" width="1" height="1" /> Luca Cavicchioli http://blogs.ugidotnet.org/yorik/archive/2008/07/21/.anche-i-template-fields-della-gridview-vengono-persi-dopo-il.aspx Mon, 21 Jul 2008 03:35:37 GMT http://blogs.ugidotnet.org/yorik/archive/2008/07/21/.anche-i-template-fields-della-gridview-vengono-persi-dopo-il.aspx#feedback 2 http://blogs.ugidotnet.org/yorik/comments/commentRss/93483.aspx http://blogs.ugidotnet.org/yorik/services/trackbacks/93483.aspx