Press "Enter" to skip to content

Tag: Intermediate

Utilizzare il ToString per effettuare il Dump di un oggetto

Un articolo veloce in risposta ad un quesito su Forum Microsoft, La persona chiedeva quale fosse la migliore libreria per effettuare la visualizzazione su console del contenuto di un oggetto. Ce ne sono un paio open source disponibili su NuGet. Potete usare queste librerie di terze parti, oppure potete perdere…

Comments closed

Mini tutorial sull’uso di Timer e Queues per temporizzare l’esecuzione di task

Questo mini progetto è stato creato in risposta ad una domanda posta sui forum Microsoft Italia, Questa in cui è stato chiesto come fare a ritardare la lettura di un file utilizzando un timer e poi, approfondendo la richiesta, come fare a non eseguire l’operazione, in questo caso lo spostamento…

Comments closed

Come creare un applicazione WPF che rimane in esecuzione mostrando icona e menu in Tray Area

A seguito di una richiesta effettuata sul forum italiano Microsoft, esattamente Questo Thread ho deciso che oltre all’articolo che mostra come usare la Notify Icon di Windows forms per mostrare la sua icona nella Tray Area di scrivere anche lo stesso progetto per WPF, pertanto sono andata a cercare il componente corrispondente nel framework WPF. Sfortunatamente, come per altri controlli, non esiste un controllo standard del framework che permetta di fare tutto ciò. La soluzione più semplicemente suggerita è quella di utilizzare il controllo Windows Forms oppure un controllo di terze parti.

Se volete utilizzare un controllo avanazato scritto da un “code addict” e disponibile gratuitamente, ecco il link al blog di Philipp Sumi dove potete trovare il controllo WPF Notify Icon, e se mi scappa magari farò un post utilizzandolo.

Io invece, faccio l’esempio da pigrizia totale e utilizzerò il controllo Windows Forms, anche perché serve a dimostrare l’interoperabilità fra Windows Forms e WPF.

solution_01

Comments closed

Come creare un applicazione Windows forms che rimane in esecuzione mostrando icona e menu in Tray Area

A seguito di una richiesta effettuata sul forum italiano Microsoft, esattamente Questo Thread ho deciso di scrivere un piccolo progetto che dimostra come utilizzare la Notify Icon di Windows Forms per creare un applicazione che non si chiude quando chiudiamo la sua finestra principale ma rimane in esecuzione in Tray Area dove ha un menu contestuale per richiamare la finestra o fare altri tipi di  operazione.

solution_01

Comments closed

Utility e User Experience in WPF

In questo progetto implementeremo una semplice utility per verificare la target platform delle Dll e degli Exe memorizzati su una cartella e ne approfitteremo per mostrare come utilizzare la classe AutoSettingsManager già  implementata nella console del MiniSqlAgent, per migliorare la User Experience. Inoltre, visto che è un utility che possiamo “utilizzare” creiamo anche il setup della stessa utilizzando InnoSetup e mostriamo come utilizzare Visual Studio per effettuare la build del setup grazie ai Post Build Events.

Comments closed

16 – MIniSqlAgent – Modificare i Job per poter gestire il Timeout

In quanto sviluppato fino ad ora per creare un servizio in grado di eseguire script SQL su un Sql Server in modo schedulato, abbiamo predisposto tutto quanto per una esecuzione molto semplice, lasciando al client ADO e alla configurazione del Server SQL il compito di decidere come eseguire gli script. In questo post, aggiungeremo un parametro di controllo fondamentale per i Jobs, ovvero la possibilità di decidere dopo quanto tempo la connessione andrà in timeout se non riuscirà a completare un Job.

Comments closed

15 – MiniSqlAgent – Implementare il servizio per eseguire Job Schedulati su SQLServer

Alla distanza di 42 post dall’inizio della serie di quest’anno, arriviamo finalmente al post più importante per concludere lo sviluppo della versione 1.0 di MiniSqlAgent, un Servizio Windows in grado di eseguire in modo schedulato degli script SQL su qualsiasi SqlServer simulando in versione minimalista il Sql Server Agent. In questo post implementeremo quanto necessario ad effettuare le seguenti operazioni:

  • Allo startup del servizio leggere tutti i Job memorizzati sulla cartella dati del servizio ed inserirli in una collection.
  • Impostare un file system watcher che controlli se vengono aggiunti, cancellati, modificati dei Job sulla cartella dati riportando gli aggiornamenti sulla collection.
  • Impostare il Loop di servizio in modo tale che controlli se vi sono Job da eseguire e li esegua.
Comments closed

14 – MiniSqlAgent – User interface Tuning – Fare aprire una sola volta il Jobs Manager

In questo post andremo ad implementare il necessario a fare in modo che la finestra di base della MiniSqlAgentConsole non apra più di una volta l’interfaccia per la gestione dei Jobs. Per fare questo andremo ad implementare una classe entity Generic, una collection Generic, ed un metodo anonimo.

Comments closed