C#

DNSMapper

Ad agosto ho rilasciato un piccolo applicativo (IPmapper) per l'identificazione di host online presenti in ben specifici segmenti di rete. Oggi ho deciso di fare qualcosa di più, l'immagine che segue parla da sola. A partire da un host esistente, in questo caso "ugidotnet.org", DNSMapper (questo il nome dell'applicativo) segnala la presenza di un host "blogs" appartenente al dominio indicato. L'applicativo, , è scritto in C# utilizzando il Framework 2.0. Note = Durante lo screenshot l'applicativo era in esecuzione da circa 2 minuti ed era arrivato alla lettera b del dizionario corrente.

posted @ Wednesday, October 11, 2006 5:04 PM | Feedback (6)

PrincipalPermission - Hacking Windows Impersonation

Essere a casa influenzato non porta solo svantaggi. Solo ora, ho trovato, un errore all'interno di una mia vecchia, ma ancora funzionante applicazione. Ecco la classe   public class ValidateUser { [PrincipalPermission(SecurityAction.Demand, Name=@"mainServer\Administrator")] public void AdminsOperations() { // codice... } } Il codice sembra corretto, e guardandolo così com'è non si nota alcun tipo di errore. In realtà l'errore c'è ma non si vede. Come la maggior...

posted @ Monday, October 9, 2006 6:37 PM | Feedback (5)

C# Internet Explorer e le proprietà di avvio

Nel caso si voglia lanciare Internet Explorer da una applicazione .NET, impostando le relative proprietà di avvio, è necessario utilizzare il seguente snippet di codice.   using System; using SHDocVw; // SHDocVw.dll referenziata si trova nella cartella di Windows namespace ControllExplorer { /// /// Lavorare con Internet Explorer /// class Class1 { /// /// The main entry point for the application. /// ...

posted @ Monday, September 11, 2006 7:45 PM | Feedback (9)

[C#] Comunicare con il Windows Registry

Come utilizzare il win registry con c#? ecco come. "click per leggere il post"

posted @ Saturday, July 1, 2006 3:02 PM | Feedback (22)

Microsoft.Messenger.dll il solito Wrapperone inutile

Dopo una serie di domande e risposte con Giorgio mi sono messo a scriptare con VS.NET 2005 e Microsoft.Messenger. A dirla tutto ero curioso di capire cosa realmente fosse possibile.. chissà quali operazioni potevo effettuare..insomma.. ero curioso come un bambino che sta per scartare il suo regalo di natale. Parto quindi a creare un nuovo progetto Library. Trovo ed aggiungo la reference dell'oggetto MessengerClient e mi guardo l Object Browser. Sorpresa. cinque (5) eventi e 3 Metodi. Basta..Gli eventi a cui è possibile rispondere sono : IncomingTextMessage OutgoingTextMessage ShowOptionsDialog ShutDown StatusChanged Quello su cui si può andare a lavorare è indubbiamente IncomingTextMessage. Da questo evento...

posted @ Thursday, May 4, 2006 9:47 PM | Feedback (14)

Checkout != Get Latest

Direttamente dal blog di Martin Woodward un interessante articolo che ci spiega la reale differenza tra Checkout e Get Latest in Team System, SourceSafe e PVCS. "If you are using the source control features in Team System then checkout means “Tell the server I want to edit this file and mark that file as writeable in my file system”, at the same time that you check-out the file you also get an option to lock the file using one of three lock types (none, check-out and check-in)."

posted @ Thursday, February 9, 2006 12:24 PM | Feedback (18)

Connection Pooling and the "Timeout Expired" Exception FAQ

System.InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.   This may have occurred because all pooled connections were in use and max pool size was reached. Lavorando con applicazioni che necessitano di effettuare diverse chiamate al DB, può accadere di incappare nella più classica System.InvalidOperationException. Ovvero.. TimeOutExpired.Prima di partire a cercare materiale su internet andate direttamente al blog di Angel Saenz-Badillos.Ha realizzato un'ottima FAQ proprio su questo argomento. Il link è questo ps = anche se pensate di essere dei code killers ne consiglio la lettura perchè ci sono molte cose da imparare.. specialmente sullo stato delle...

posted @ Tuesday, January 31, 2006 1:24 PM | Feedback (44)

[Download] WSE 3.0 Hands On Lab

Web Services Enhancements 3.0 Hands On Lab - Exploring Security Ne avevo parlato alcuni giorni indietro.Dalla homepage di microsoft.com/security in prima pagina è presente il collegamento al download di questo interessante "HOWTO".Se avete intenzione di utilizzare dei WebServices nei vostri progetti... dateci uno sguardo.. è veramente utile. Il download è qui (1.2MB) ;)

posted @ Thursday, January 26, 2006 4:03 PM | Feedback (6)

C# System.Net.MailMessage vs Gmail

Se anche voi come me avete la necessità d'inviare email attraverso un indirizzo gmail, questo codice può esservi di aiuto. MailMessage msgMail = new MailMessage("@gmail.com", "@gmail.com", soggetto, messaggio);// Va utilizzata la porta 587 per l'invioSmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);// Va abilitato SSLsmtp.EnableSsl = true;smtp.DeliveryMethod = SmtpDeliveryMethod.Network;smtp.Credentials = new System.Net.NetworkCredential("@gmail.com", "");  try  {    smtp.Send(msgMail);  }  catch (Exception ex)  {     Console.WriteLine(ex.Message.ToString());  } Come si nota dal codice ci sono alcuni accorgimenti di cui tenere conto durante l'invio delle email (tipo ssl, e la porta 587).

posted @ Monday, December 12, 2005 4:53 PM | Feedback (202)

Asp.net Impersonation

Non appena Internet Information Services riceve una richiesta, questo controlla se esiste un filtro ISAPI in grado di elaborare il processo richiesto. Per esempio, per le richieste .asp viene chiamata in causa asp.dll. Se non esiste nessun filtro ISAPI abile ad elaborare la richiesta, IIS si fa carico di elaborare e rimandare le informazioni al client. Questo è il normale di processo di lavoro che viene effettuato per pagine .html, .gif, .jpg e semplici file di testo. Nel caso ci sia una richiesta per un file .aspx, questa viene passata al filtro aspnet_isapi.dll. Scopo di questo filtro è delegare l'ASP.NET Worker Process...

posted @ Monday, September 26, 2005 10:57 AM | Feedback (23)

Full C# Archive