.NET Framework
esempio di codice per l’aggiunta di un secondary contact nella creazione di una site collection di SharePoint 1: internal void CreateSite(string serverUrl, string serverRelativeUrl, string title, string description, uint LCID, string templateName)
2: {
3: SPSecurity.RunWithElevatedPrivileges(delegate()
4: {
5: using (SPSite siteCollectionOuter = new SPSite(serverUrl +...
Una volta in un bel libro su ASP.NET avevo letto (cito a memoria): Lo sviluppatore è avvisato a configurare l’ambiente di sviluppo, ad utilizzare il sessionState su Sql Server, in modo che qualunque sia poi la configurazione in produzione, non avrà brutte sorprese Appena la lessi pensai, ottimo consiglio, poi per la pigrizia di tutti i giorni non ho mai seguito il consiglio. Oggi ho perso 3 ore per capire perchè non serializzasse una banalissima classe, peccato che la classe avesse un riferimento ad uno UserControl (di cui ovviamente non ricordavo più l’esistenza)...
Noto che in giro si fa largo uso della AddWithValue(), a me non è mai piaciuta sarà per il mio naturale snobbismo delle cose semplici. Dopo un po di anni che ci pensavo su ho deciso che era giunto il tempo di capirci meglio, mi sono armato di F11 e ho guardato un po dentro la libreria System.Data. Quello che sospettavo mi viene confermato alla riga 1271 del file SqlParameter.cs, ovviamente esegue un _value.GetType() per poter preparare i parametri da passare a SQL Server. Se siete dei fissati dell’ottimizzazione tenetelo da buon conto. Un altro aspetto è invece...
Session[null] = myObject;
funziona tranquillamente, e
Object myObject = Session[null];
restituisce esattamente lo stesso oggetto;
gli extension methods possono essere utili per migliorare la lettura del codice, ad esempio nel caso di XML con attributi facoltativi: public static class ConversionExtension{ public static String GetSPValue(this XAttribute attribute) { return attribute == null ? null : attribute.Value; } public static bool? GetBooleanSPValue(this XAttribute attribute) { return attribute == null ? null : new Nullable<Boolean>(Boolean.Parse(attribute.Value)); }}
esempio d’uso:
...
Se incappate in questo strano errore non perdete tempo alla ricerca di strane soluzioni, installate la SP1 del .NET framework 2.0
PS. l'importanza del Continuous integration...
chissà se mi divertirò come ai tempi dell'MFC :D, è spesso utile vedere come hanno implementato certe funzionalità. il video e la fonte della notizia