Come è possibile implementare code di elaborazione in background nell'app Web ASP.NET MVC? Mentre la maggior parte dei dati cambia, gli aggiornamenti, ecc. Devono essere immediatamente visibili, ci sono altri aggiornamenti che non hanno bisogno di elaborazione in tempo reale che vorrei passare ad un processo in background con priorità più bassa che si prenderà cura di esso al proprio ritmo .Elaborazione in background in coda nell'applicazione Web ASP.NET MVC
Come esempio, prendere il sistema di assegnazione badge di StackOverflow. Di solito puoi intraprendere un'azione specifica che ti assegnerebbe un badge, ma il "premio" effettivo si verifica dopo (in genere tra 10 minuti e un paio d'ore dopo). Presumo che ciò avvenga tramite un processo di background separato, in quanto non è fondamentale per i lavori di SO assegnare i badge immediatamente quando vengono guadagnati.
Quindi, sto provando a creare un qualche tipo di sistema di coda in cui potrei riempire le attività (dite qualcosa che implementa l'interfaccia di ITask che avrà un metodo Process()) che alla fine verrà eseguito da un processo separato.
Come posso implementare tale sistema? Idee/suggerimento/codice di esempio?
Grazie!
Avete un esempio su come inizialmente un'applicazione di servizio 'connect' con un MSMQ e quindi ad ASP.NET MVC? Questo è abbastanza nuovo per me. Grazie! – Alex
Basta scrivere sulla coda appropriata. Il tuo servizio chiamerà. Ricevi e la tua pagina, da cui vuoi inviare un messaggio alla coda, chiamerà semplicemente "Invia". Aggiornerò con un piccolo esempio –
aggiornato. Nota Non ho mostrato il codice per creare la coda, se non esiste. Ma questo può essere trovato banalmente solo prendendo come l'API System.Messaging. In particolare: MessageQueue.Create (...). Nota che dovrai anche ottenere le autorizzazioni appropriate. (.SetPermissions). –