Beste mensen,
Ik heb een vrij redelijke webapp in asp.net. Deze maakt gebruik van data uit een database, en een deel daarvan is wat lastig daar uit te halen, en is redelijk statisch
Dit doe ik dus elke x minuten in een apparte thread en dat cache ik in System.Web.Caching.Cache
Ik heb nu een werkende situatie, maar ben daar niet zo tevreden over, dit om twee redenen
1. Ik start nu een thead die x minuten wacht, een taak uitvoert, weer wacht etc.
Dit zorgt ervoor dat 1 thread 99% van ze tijd uit ze neus zit te vreten. Die thread zou ik liever willen returnen naar de threadpool.
2. Ik start de thread in de application start (middels global.asax)
Dit heeft echter als nadeel, dat wanneer de database even een hickup heeft, of er ergens anders iets fout gaat in het update proces van die cachegegeven, mijn applicationpool stopt.
Deze moet ik dan weer met de hand starten.. op alle servers..
Kortom, ik zit mij hier zo een beetje af te vragen hoe jullie dat doen.
Is er een standaard manier voor? hebben jullie het ook zelf geknutseld? zijn er best practises?
Ik heb een vrij redelijke webapp in asp.net. Deze maakt gebruik van data uit een database, en een deel daarvan is wat lastig daar uit te halen, en is redelijk statisch
Dit doe ik dus elke x minuten in een apparte thread en dat cache ik in System.Web.Caching.Cache
Ik heb nu een werkende situatie, maar ben daar niet zo tevreden over, dit om twee redenen
1. Ik start nu een thead die x minuten wacht, een taak uitvoert, weer wacht etc.
C#:
1
| while (true) { /* shizzle */ } |
Dit zorgt ervoor dat 1 thread 99% van ze tijd uit ze neus zit te vreten. Die thread zou ik liever willen returnen naar de threadpool.
2. Ik start de thread in de application start (middels global.asax)
Dit heeft echter als nadeel, dat wanneer de database even een hickup heeft, of er ergens anders iets fout gaat in het update proces van die cachegegeven, mijn applicationpool stopt.
Deze moet ik dan weer met de hand starten.. op alle servers..
Kortom, ik zit mij hier zo een beetje af te vragen hoe jullie dat doen.
Is er een standaard manier voor? hebben jullie het ook zelf geknutseld? zijn er best practises?
This message was sent on 100% recyclable electrons.