Domanda

Jeff ha già bloggato su utilizza la cache per l'esecuzione di "fuori banda", il trattamento sul suo sito web, tuttavia mi chiedevo quali altre tecniche in uso per il trattamento di questi tipi di attività?

È stato utile?

Soluzione

Anni fa, ho visto Rob Howard descrivere un modo per utilizzare un HttpModule al processo in background.Non sembra come slick come utilizzare la Cache, ma potrebbe essere meglio per determinate circostanze.

Questo post del blog sono i dettagli, e ci sono molti altri che cattura le stesse informazioni, se ti guardi intorno.

Altri suggerimenti

Servizio Di Windows

Si potrebbe voler guardare come DotNetNuke fa.So che è scritto in VB.NET ma ho montato il codice in C#.Stavo sfogliando la fonte e ho notato che avevano una funzione nella loro area di amministrazione per l'installazione delle attività pianificate.Queste attività di configurazione attraverso l'interfaccia di amministrazione e memorizzati nel database.Quando il sito inizia, al Globale.asax file, l'hanno creato un altro thread per l'esecuzione di questo servizio che, quindi, esegue le operazioni pianificate al momento pianificato.Non mi ricordo l'esatta logica, è stato un po', ma è sicuramente una buona risorsa su come altre persone hanno fatto fuori banda processi per Asp.Net applicazioni.Questa tecnica mantiene ancora la logica all'interno del Asp.Net l'applicazione, ma non si esaurisce band, a mio parere.

se è principalmente compiti di elaborazione dati e si sta utilizzando MSSQL, come pianificato le attività di SSIS?

Attività pianificate o cron jobs.

Il problema con le operazioni pianificate o cron jobs è che non condividono lo spazio di memoria con il web server.Si può impostare una operazione pianificata che le pagine richieste dal server web, ma che potrebbe creare problemi con la lunga attività in esecuzione.Sarebbe bello avere un po ' bassa priorità dei thread in esecuzione sul reale ASP.Net stack di applicazioni per eseguire semplici attività di utilità come la pulizia delle cache, monitoraggio delle risorse, e solo per occuparsi di servizio generale.

Semplice coda di file con un separato agente.Per ogni tipo di out of band processo di scrittura separata agente .exe che guarda una directory per i file di coda che includono qualsiasi tipo di dati è necessario per eseguire il processo specificato.

Questo può sembrare sporco, ma nel mondo reale la trovo dà un sacco di flessibilità, voi non stanno facendo un sacco di trasformazione in ASP.net spazio di processo e si potrebbe facilmente adattarsi a questo stile di fattoria di elaborazione a basso Linux server che eseguono il processo di agente Mono per quando si avvia bisogno di più RAM/CPU/disco.

Se siete più comodi con asp.net pagine che è possibile scrivere una piccola app per gestire il tuo lavoro e quindi "ping", l'app con un servizio esterno che monitora il vostro sito web.Ciò manterrà l'app vivo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top