January 2005 - Posts
Ho definito una nuova categoria per i miei post su SQL 2005: http://blogs.devleap.com/rob/category/82.aspx
Immagino conosciate tutti Refletor. Consente di disassemblare assembly .net. Spesso si usa per capire cosa succede dietro le quinte nella classi del framework.
Se lavorate con SQL 2005 è possibile scrivere stored procedure, function e trigger in .NET (nonchè definire propri .NET sotto forma di classi .NET). Esiste un add-in per Reflector (http://www.denisbauer.com/NETTools/SQL2005Browser.aspx) che consente di disassemblare direttamente gli assembly ospitati in SQL 2005. Sono 26 Kb di download. Aprite poi Reflector e dal menù Add-in aggiungete la dll che trovate nello zip scaricato.
Nel menù file appare una nuova voce che consente di connettersi a una istanza si SQL 2005, visualizzare e disassemblare i vari assembly contenuti.
Hope useful
Restando super partes, vi cito un link http://www.microsoft.com/italy/windowsserversystem/facts/default.mspx dove aziende indipendenti valutano le soluzioni Windows e Linux.
"SQL CE quando utilizza RDA per connettersi via IIS a SQL Server può usare la digest authentication ?" Oggi mi è arrivata una mail con questa domanda...visto che non è la prima volta che mi viene fatta questa domanda, spero di fare cosa gradita inserendo un post.
SQLCE v2.0 non supporta la Digest Authentication. Non la supporterà neanche SQL 2005 Mobile Edition. Il motivo non è da ricercarsi nel prodotto, ma bensì nel sistema operativo. SQL CE e SQL 2005 Mobile si appoggiano al sistema operativo per effettuare la richiesta Http o Https verso IIS.
La mancanza di supporto da parte del sistema operativo Windows CE 4.2 all'autenticazione Digest fa si che anche SQL CE 2.0 e SQL 2005 Mobile Edition non possano utilizzarla per autenticarsi a IIS.
Ho effettuato qualche test su un database da 500.000 record e mi sembra che vada come una scheggia rispetto alla precedente versione. Considerando che la versione che sto usando è più o meno la Beta2 e quindi non conterrà ottimizzazioni direi che è veramente un gran prodotto.
Particolarmente interessante è la possibilità di visualizzare il Query Execution Plan e di conseguenza poter ottimizzare le query (ci sono anche i Query Hints che suggeriscono indici e clausole di WHERE e JOIN migliori rispetto a quanto presente nella query impostata).
Due curiosità: sul mio Qtek 2020 (Windows CE 4 su processore Intel PXA 250) occupa 1.39 MB. Il range dovrebbe andare da 1.2 MB a 1.6 MB a seconda del processore. I database invece possono arrivare fino a 4GB.
Rilasciato proprio il giorno del mio compleanno...sarà un segno ? Dovrò riaccedere ai vecchi archivi FoxPro da .NET ?
Se vi serve, ecco il link: http://www.microsoft.com/downloads/details.aspx?FamilyID=E1A87D8F-2D58-491F-A0FA-95A3289C5FD4&displaylang=en
Dopo l’evento su SOA e Smart Client di Brescia, il prossimo evento potrebbe essere a Firenze verso la metà di marzo. Un’altro evento stile DevLeap (pochi fronzoli e molto contenuto) sulla security in ASP.NET.
L’obiettivo è semplice: passare una giornata insieme all’insegna della security, partendo da Windows Server che ospita l’applicazione, passando da IIS e dal protocollo Http, per arrivare a ASP.NET che verrà coperto in tutti i suoi aspetti. È importante infatti comprendere il funzionamento di Windows con Principal e Identity (Token) per poi capire come IIS faccia da portiere delle varie richieste Http prima di affrontare i meccanismi di autenticazione di ASP.NET.
La configurazione è semplice, ma come sempre deve fare i conti con processi (diversi fra IIS 5 e IIS 6), thread che fanno girare il codice, file system per recuperare le risorse: tutto questo deriva dal fatto che ASP.NET gira su una macchina Windows e sta dietro Internet Information Service. Anche Sql Server o altri database girano su macchine Windows, quindi anche per loro sarà necessario fare i conti con i meccanismi del sistema operativo per raggiungere i database sia nella Windows Authentication, sia nella Forms Authentication, sia con autenticazione integrata con Windows, sia con login definiti nel database.
Nell’arco della giornata vedremo vari scenari applicativi, ma soprattutto analizzeremo il funzionamento di tutti i pezzi al fine di raggiungere una conoscenza approfondita e poter operare in diversi contesti.
Tutto quello che vedremo resterà più che valido anche nella prossima versione di ASP.NET (Whidbey – 2.0) che sfrutta lo stesso meccanismo di autenticazione e autorizzazione aggiungendo nuovi building block per gestire più semplicemente utenti, ruoli e mapping fra di essi: daremo spazio anche alla personalizzazione di questi due nuovi elementi architetturali.
Questa è l'idea e l'ipotesi di date. Scrivetemi direttamente (Roberto@DevLeap.it) se siete interessati all'argomento e alla location. Se, in qualche giorno, ricevo richieste sufficienti provvedo all'organizzazione !!!! Il prezzo dovrei riuscire a mantenerlo in linea con l'evento di Brescia: 250 Euro.
Firenze viene spesso considerata nel nostro informatico un posto un po' sfigato, ma essendo la mia citta natale e di residenza, ci terrei a smontare questa teoria !!!.
Come anticipato settimana scorsa a Febbraio si parte con il tour su di migrazione da ASP a ASP.NET. Riporto il post di Andrea (http://blogs.ugidotnet.org/pape/archive/2005/01/18/9632.aspx) con qualche specifica e il link veso l'evento:
Agenda delle giornate http://www.microsoft.com/italy/msdn/roadshow/agenda.mspx?pf=true
Location e informazioni: http://www.microsoft.com/italy/msdn/roadshow/default.mspx
Altro giro altra corsa...è disponibile per il download il Mobile Application Development Toolkit: ancora una volta una raccolta completa di tutte le risorse per sviluppare in ambiente mobile.
Comprende:
- Windows Mobile Development Guided Tour
- QuickStarts
- Hands-on Labs
- Technical Articles
- Business Success Stories
- Information about Developer Tools and SDKs
- Software and Special Offers
http://www.microsoft.com/downloads/details.aspx?FamilyID=F4328333-0FD4-4348-88C0-39D10FB64F0A&displaylang=en
Ecco il testo originale:
SqlInt32 i1 = new SqlInt32(5);
SqlInt32 i2 = new SqlInt32(5);
bool b = i1 == i2;
Anche in questo caso abbiamo un errore in compilazione. Il codice non può essere eseguito perchè l'operazione di uguaglianza restituisce un SqlBoolean che non può essere convertito implicitamente in un bool.
Questo era l'esempio:
SqlInt32 i1 = new SqlInt32.Null
SqlInt32 i2 = new SqlInt32.Null
if(i1 == i2)
{ MessageBox.Show("Sono uguali !!!") }
if(i1 != i2)
{ MessageBox.Show("Sono diversi !!!") }
SqlInt32.Null non è un'espressione valida in .NET 1.x quindi la risposta è "Ho un errore in compilazione".
Ma in .NET 2.0 è validissimo in quanto ogni SqlType (System.Data.SqlTypes) espone una proprietà Null.
In ogni caso la risposta corretta è zero !
Ugualianza: uno dei due valori restituisce SqlBoolean.Null che non è true, quindi non viene mostrata la MessageBox.
Diversità: accade lo stesso in quanto viene fatto il not logico del SqlBoolan risultante.
Ecco l'implementazione interna degli operatori rispetto ai SqlInt32
public static SqlBoolean operator ==(SqlInt32 x, SqlInt32 y)
{ if (!x.IsNull && !y.IsNull)
{ return new SqlBoolean(x.m_value == y.m_value);
}
return SqlBoolean.Null;
}
public static SqlBoolean operator !=(SqlInt32 x, SqlInt32 y)
{ return SqlBoolean.op_LogicalNot((SqlBoolean) (x == y));
}
op_LogicalNot è implementato così:
public static SqlBoolean op_LogicalNot(SqlBoolean x)
{ switch (x.m_value)
{ case 1:
{ return SqlBoolean.False;
}
case 2:
{ return SqlBoolean.True;
}
}
return SqlBoolean.Null;
}
Sono due giorni che provo a installare la CTP Dic 04 di Visual Studio 2005 invano....scelgo i componenti da installare e dopo un'oretta il setup fallisce.
Prova e riprova....poi vedo una Known Issue tra l'altro scritta in bold subito prima del download: Selezionare l'installazione di default altrimenti fa la pizza :-)
Morale : leggere sempre le istruzioni !!!!!!!!!!
Inizia in Febbraio l'upgrade tour da ASP a ASP.NET organizzato da Microsoft in molte città italiane. La giornata avrà l'obiettivo di mostrare a chi lavora in ASP in mondo ASP.NET versione attuale, con qualche squardo alla prossima versione. L'evento coinvolgerà uno speaker per ogni città toccata...stiamo tirando a sorte le città in modo da far fare il seminario di Firenze a Daniele o Andrea e quello di Matera a me :-)
Scherzi a parte, ogni speaker (tra l'altro tutti amici e colleghi) terrà una giornata in varie parti d'Italia. Visto che li conosco tutti da anni ci sarà da imparare e ovviamente anche divertirsi.
A presto tutti i dettagli che stiamo ultimando in questi giorni di pseudo-feste.
More Posts
Next page »