sabato 17 febbraio 2007
Notizia molto interessante quella pubblicata qui: Microsoft rende mensilmente disponibile per il download un file ISO contenente tutti gli aggiornamenti della protezione rilasciati per i suoi sistemi operativi.
Windows Vista espone il proprio motore di ricerca integrato come database, cosicché è possibile accedere ad esso attraverso una normale connessione di tipo OleDb. Ad esempio:
public struct SearchResult
{
public string FileName;
public string Url;
public DateTime LastModified;
public long Size;
public string ItemType;
}
public ReadOnlyCollection<SearchResult> Search(string path, string pattern)
{
string connString =
@"Provider=Search.CollatorDSO;Extended Properties='Application=Windows'";
string searchString = string.Format(
@"SELECT System.FileName, System.ItemUrl, System.DateModified, System.Size, System.ItemType
FROM SYSTEMINDEX WHERE Scope='file:{0}'
AND System.FileName LIKE '{1}%'", path, pattern);
List<SearchResult> result;
using (OleDbConnection conn = new OleDbConnection(connString))
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(searchString, conn);
using (OleDbDataReader reader = cmd.ExecuteReader())
{
if (!reader.HasRows)
return null;
result = new List<SearchResult>();
object[] rows = new object[reader.FieldCount];
while (reader.Read())
{
reader.GetValues(rows);
SearchResult temp = new SearchResult();
temp.FileName = (string)rows[0];
temp.Url = (string)rows[1];
temp.LastModified = (DateTime)rows[2];
temp.Size = (long)rows[3];
temp.ItemType = (string)rows[4];
result.Add(temp);
}
}
}
return result.AsReadOnly();
}
Su questo blog sono disponibili maggiori informazioni su Windows Desktop Search e una serie di link di approfondimento.
Qualche tempo fa avevo parlato delle nuove funzioni di Windows Vista per la gestione dei crash e del ripristino automatico delle applicazioni in seguito ad errori imprevisti. Nell'articolo si fa un cenno ad una caratteristica molto importante di questo nuovo sistema: perché un'applicazione possa essere ripstinata, deve essere in esecuzione da almeno 60 secondi. Se il crash si verifica prima di questo intervallo viene comunque eseguita la funzione di callback, in cui tipicamente si salva lo stato dell'applicazione su disco, ma Windows non riavvia automaticamente il programma. Questo comportamento ha lo scopo di evitare i continui riavvii di un'applicazione nel caso in cui risulti particolarmente instabile.
Stavo navigando su MSDN alla ricerca di alcune informazioni, quando per puro caso mi sono imbattuto nel metodo Environment.FailFast che, cito testualmente, terminates a process but does not execute any active try-finally blocks or finalizers... Use the FailFast method instead of the Exit method to terminate your application if the state of your application is damaged beyond repair, and executing your application's try-finally blocks and finalizers will corrupt program resources.
Questo metodo proprio non lo conoscevo... E' proprio vero che si finisce mai di imparare 
Ieri pomeriggio stavo facendo qualche esprimento di programmazione con il Restart Manager di Windows Vista (di cui parlerò in uno dei miei prossimi post). Ad un certo punto, ho dovuto riavviare il sistema... Non l'avessi mai fatto
! Dopo il riavvio, il PC non era più in grado di rilevare la rete (come avevo scritto qui, il mio desktop è collegato con un sistema con Windows Server 2003 che fornisce la connettivià Internet attraverso un modem ADSL USB). Ho provato ad impostare un indirizzo IP statico, attaccare e scollegare il cavo di rete, riavviare N-mila volte, ma niente... A quel punto ho pensato che non si fosse verificato un problema sul server. Ho quindi ricollegato monitor e tastiera, l'ho riavviato e ho fatto un logon interattivo. Appena terminata la procedura, magicamente il desktop ha rilevato la rete e si è connesso ad Internet...
Ora il sistema è tornato a funzionare perfettamente, ma ancora non ho capito cosa fosse successo...
Qualche tempo fa ho parlato della Windows RSS Platform, l'API introdotta con Internet Explorer 7 per la gestione dei feed RSS. A questo indirizzo è disponibile un'applicazione di esempio che estende lo screen saver incluso nel Visual C# Starter Kit aggiungendovi le funzionalità fornite dalla nuova piattaforma.
Questo articolo pubblicato su CodeProject spiega come installare e configurare Team Foundation Server per l'utilizzo di connessioni SSL, in modo da poter accedere al sistema in modo sicuro anche da postazioni remote attraverso Internet.