Sono coinvolto nello sviluppo di un ricco progetto di interfaccia utente: applicazione Windows desktop. L'applicazione utilizza invocazioni asincrone e, a sua volta, dovrebbe essere pronta per elaborare messaggi esterni (eventi). Il problema è chiaro: è stato costruito per la prima volta come un semplice prototipo e non è stato sottoposto a prove di stress e tutto andava bene. Poi è stata sviluppata l'applicazione: il numero di chiamate al server e il numero di eventi dal server sono alti e le prestazioni sono basse. Inoltre, gli utenti hanno notato che a volte le prestazioni sono estremamente basse. Invocazioni asincrone basate sul pool di thread (BeginInvoke, EndInvoke), gli eventi esterni stanno passando dal servizio WCF (.NET 3.5). Il mio obiettivo è sincronizzare tutti i compiti e mettere le priorità ad ogni esecuzione in applicazione desktop . La mia domanda è: esiste qualche pratica su come raggiungere il mio obiettivo: modelli , elenco priorità attività , altri? Cosa devo fare alle prime, alle seconde e alle successive?
Grazie