Articoli con il tag «.NET»
32 articoli con il tag «.NET», dal più recente al più vecchio.
-
Proxy aziendale e app Windows — mettere in ordine la risoluzione del proxy in WinINET, WinHTTP e .NET
Il browser passa, ma solo l'app aziendale non attraversa il proxy aziendale. La causa è di solito un disallineamento su quali impostazioni proxy leggono WinI...
-
Best practice pratiche sul multithreading: edizione .NET — Cosa decidere prima di aggiungere altri thread
Le regole di progettazione per .NET/C# che impediscono che, dopo aver avviato un thread, l'app «crashi o si blocchi di tanto in tanto». L'articolo copre il b...
-
Usare WMI/CIM da C# e PowerShell — Guida pratica a lettura hardware, monitoraggio processi e interrogazioni remote
Il modo classico per leggere il numero di serie del PC, monitorare lo spazio disco e rilevare l'avvio dei processi è WMI/CIM. L'articolo spiega i cmdlet CIM ...
-
Le profondità dell'I/O di Windows (5ª puntata) — Struttura interna di NTFS: capire il file system dall'MFT
Quinta puntata della serie che spiega con i diagrammi la struttura interna di NTFS. Si organizzano, dal punto di vista dello sviluppatore, MFT e record di fi...
-
Le profondità dell'I/O di Windows (4ª puntata) — Cache Manager: quando il vostro WriteFile arriva sul disco
Quarta puntata della serie che spiega con i diagrammi il Cache Manager di Windows. Si organizzano la cache implementata come file mapping, read-ahead e lazy ...
-
Icone nella system tray e notifiche toast nelle app Windows — le insidie di NotifyIcon e come scegliere l'AppNotification giusta
Una guida pratica per mantenere un'applicazione Windows aziendale residente nella system tray (area di notifica) e avvisare l'utente tramite notifiche toast....
-
Fino a quando funzioneranno le applicazioni VB6? — Lo stato del supporto al runtime e un percorso pratico verso la migrazione a .NET
Fino a quando continueranno a funzionare le applicazioni VB6? Questo articolo chiarisce l'asimmetria tra la politica di supporto del runtime VB6 (ancora supp...
-
Era giapponese, festività e date di chiusura nelle applicazioni aziendali — progettazione resiliente ai cambi di era, JapaneseCalendar e calcolo dei giorni lavorativi nella pratica
Mostrare «Reiwa 8» su un documento, calcolare i giorni lavorativi escludendo le festività, pagare entro la fine del mese successivo dopo una chiusura il gior...
-
Internazionalizzazione delle app WinForms/WPF — la pratica di resx, satellite assembly e cambio cultura
Analizziamo dal punto di vista pratico l'internazionalizzazione delle applicazioni desktop Windows: la differenza tra CurrentCulture e CurrentUICulture, il m...
-
Il CSV non è "solo testo" ── La gestione pratica dei file CSV nelle applicazioni aziendali C# (codifica dei caratteri, compatibilità con Excel, protezione dalle injection)
Analizziamo, dal punto di vista pratico, i tipici errori negli scambi CSV delle applicazioni aziendali──il parsing fatto in casa con Split(','), la corruzion...
-
Non racchiudere HttpClient in un using ── guida pratica alla comunicazione HTTP nelle app aziendali C# (pattern di creazione, timeout, retry)
Creare un nuovo HttpClient con using a ogni richiesta esaurisce i socket, mentre renderlo static non segue i cambi di DNS: analizziamo il meccanismo di quest...
-
Individuare con PerfView e dotnet-trace la causa di un rallentamento — introduzione pratica all'analisi delle prestazioni .NET
Quando un'app aziendale è lenta, satura la CPU o si blocca, quale strumento usare e cosa osservare? Questa guida spiega la divisione dei ruoli fra PerfView e...
-
Introduzione al registro eventi di Windows e a ETW — usare per le app aziendali i meccanismi standard del sistema operativo
La vostra app aziendale Windows usa soltanto file di log? Registro eventi ed ETW sono registrazioni visibili a un livello diverso, per il personale operativo...
-
Oltre appsettings.json — Guida pratica alla gestione della configurazione nelle applicazioni aziendali Windows (impostazioni per ambiente, segreti e percorsi di scrittura)
Uno sguardo pratico alla gestione della configurazione nelle applicazioni aziendali Windows: stratificazione di appsettings.json, scelta tra IConfiguration e...
-
Stampa e output PDF nelle applicazioni aziendali Windows — come scegliere tra System.Drawing.Printing, WPF e librerie di report
Organizza in una tabella decisionale la stampa WinForms con PrintDocument, la stampa WPF con FlowDocument/FixedDocument e le alternative di output PDF. Spieg...
-
Capire davvero il modello OSI — sezionare una singola richiesta HTTP nei suoi sette livelli
Capiamo il modello OSI attraverso la pratica reale invece che a memoria. Assembliamo e sezioniamo in C# il frame Ethernet che trasporta una singola richiesta...
-
Come comprendere l'isolamento delle sessioni di Windows — Session 0, RDP ed esecuzione simultanea di più utenti
Questo articolo chiarisce il concetto di «sessione» di Windows, un argomento che genera costante confusione tra gli sviluppatori di applicazioni Windows. Ven...
-
Outsourcing e sviluppo su commissione di app Windows: cosa chiarire prima di affidare l'incarico
Prima di affidare in outsourcing o su commissione lo sviluppo di un'app Windows, ecco i punti da chiarire: revisione del software esistente, integrazione con...
-
Distinguere l'attesa del GC da una perdita di memoria in .NET — Procedura pratica per osservare, confrontare e dimostrare la crescita della memoria
Una procedura per distinguere, in un'applicazione .NET, se la memoria in crescita è solo in attesa della garbage collection o è una vera perdita di memoria, ...
-
Checklist per gestire in sicurezza processi figli nelle app Windows - Job Object, propagazione exit, stdio e watchdog
Come far morire i processi figli con il padre su Windows: Job Object, propagazione exit, drenaggio stdout/stderr e posizionamento del watchdog, con una check...
-
Distribuzione single-file di app Windows - Binari singoli e limiti delle dipendenze OS
Quando vuoi distribuire un'app Windows come singolo EXE, conta la differenza tra consegnare un artefatto ed eliminare le dipendenze OS. Analizziamo .NET, C++...
-
Pitfall delle app di comunicazione seriale - Riconnessione e progettazione dei log
I pitfall delle app di comunicazione seriale da evitare nell'integrazione dispositivi e nel controllo strumenti, organizzati da una prospettiva pratica: fram...
-
Elenco di controllo pre-migrazione per il passaggio da .NET Framework a .NET
Un pratico elenco di controllo di cosa verificare prima della migrazione da .NET Framework a .NET: tipi di progetto, tecnologie non supportate, dipendenze Nu...
-
Qual è il .NET Generic Host? - La base per DI, configurazione e registrazione
Il .NET Generic Host in parole povere: un posto per DI, configurazione, registrazione, BackgroundService e arresto regolare. Esempio di console minima incluso.
-
Cos'è .NET Native AOT? - Come differisce da JIT, ReadyToRun e Trimming
Come Native AOT si differenzia da JIT, ReadyToRun e trimming, cosa si guadagna in avvio e deployment, e dove il codice reflection-heavy si rompe.
-
Scelta tra i tre timer di .NET - PeriodicTimer / Timer / DispatcherTimer
Quale timer .NET dovresti usare? PeriodicTimer per loop asincroni, timer per callback ThreadPool, DispatcherTimer per WPF UI, oltre a una tabella e un codice...
-
Chiamando un C# Native AOT DLL da C / C++
Esporta i punti di ingresso C da C# con Native AOT e UnmanagedCallersOnly e chiamali da C / C++: impostazione del progetto, gestione delle stringhe e un esem...
-
Perché utilizzare .NET Generic Host e BackgroundService nelle app desktop
Come utilizzare Generic Host e BackgroundService per organizzare l'avvio, l'elaborazione periodica, l'arresto, la registrazione, la configurazione e DI negli...
-
Come gestire ActiveX / OCX oggi - Una tabella decisionale Mantieni / Avvolgi / Sostituisci
Quando trovi ActiveX / OCX, come scegliere tra mantenerlo, racchiuderlo e sostituirlo, coprendo 32-bit / 64-bit, registrazione, dipendenze del browser e supp...
-
WPF / WinForms asincrono e il thread dell'UI su un foglio
Dopo l'attesa in WPF o WinForms, quale thread esegue il tuo codice? Copre Dispatcher.Invoke, ConfigureAwait(false) e perché .Result e .Wait() deadlock.
-
Una guida pratica a FileSystemWatcher: gestire gli eventi persi e duplicati
Organizziamo come utilizzare FileSystemWatcher e le sue insidie: eventi persi, notifiche duplicate, trappole di rilevamento del completamento, nuove scansion...
-
Una tabella decisionale pratica per C# async / await - Task.Run e ConfigureAwait
Organizziamo le migliori pratiche asincrone / in attesa di C#: attese di I / O, lavoro della CPU, Task.Run, ConfigureAwait(false) e fire-and-forget, complete...