Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Starte et asynchront task i seperat thread fra MVC

6 views
Skip to first unread message

MooreHojer

unread,
Jan 22, 2013, 5:32:55 AM1/22/13
to
Hej

Jeg er ved at lave noget log til min MVC projekt.
Selve logningen er implementeret ved brug af Filters, som man så kan sætte på de Controllere som man ønsker den konkrete type logning skal på (der er 5 typer og 5 filtre).

Selve opfangelsen af de dataset som skal bruges til logning tager ingen tid eller resourcer, men behandlingen af dataene før de logges kan godt være lidt resourcekrævende og jeg tænker derfor om der er en smart måde at smide det ud i en seperat tråd så det kan køre og hygge sig for sig selv.
Jeg har ikke brug for at få noget svar tilbage fra mit kald til loggeren og den har ikke brug for at kommunikere med resten af mit request når den først er sat igang, og det samme gælder den anden vej rundt.

Selve behandlingen af mit log-request kan sagtens løbe længere end selve page request, så er derfor interesseret i at smide det ud til siden.

Jeg har forsøgt at Google lidt på problematikken, men synes ikke jeg kan finde noget som gør det jeg ønsker, så håber at nogen her kan hjælpe mig i den rigtige retning :-)


På Forhånd Tak!

--
MooreHojer

Arne Vajhøj

unread,
Jan 22, 2013, 6:03:19 PM1/22/13
to
On 1/22/2013 5:32 AM, MooreHojer wrote:
> Jeg er ved at lave noget log til min MVC projekt. Selve logningen er
> implementeret ved brug af Filters, som man s� kan s�tte p� de
> Controllere som man �nsker den konkrete type logning skal p� (der er
> 5 typer og 5 filtre).
>
> Selve opfangelsen af de dataset som skal bruges til logning tager
> ingen tid eller resourcer, men behandlingen af dataene f�r de logges
> kan godt v�re lidt resourcekr�vende og jeg t�nker derfor om der er en
> smart m�de at smide det ud i en seperat tr�d s� det kan k�re og hygge
> sig for sig selv. Jeg har ikke brug for at f� noget svar tilbage fra
> mit kald til loggeren og den har ikke brug for at kommunikere med
> resten af mit request n�r den f�rst er sat igang, og det samme g�lder
> den anden vej rundt.
>
> Selve behandlingen af mit log-request kan sagtens l�be l�ngere end
> selve page request, s� er derfor interesseret i at smide det ud til
> siden.
>
> Jeg har fors�gt at Google lidt p� problematikken, men synes ikke jeg
> kan finde noget som g�r det jeg �nsker, s� h�ber at nogen her kan
> hj�lpe mig i den rigtige retning :-)

Du kan godt starte en tr�d fra ASP.NET, men det er ikke s�rligt p�nt at
g�re det.

Smid det i en message queue og lad en windows service processe det.

Arne

MooreHojer

unread,
Jan 23, 2013, 9:04:09 AM1/23/13
to

> Du kan godt starte en tråd fra ASP.NET, men det er ikke særligt pænt at
> gøre det.
>
> Smid det i en message queue og lad en windows service processe det.

Okay det vil jeg så kigge på, selv om det er lidt træls at skulle "hoppe udenfor" min webapp og have en (ekstra) windowsservice kørende på serveren også..


--
MooreHojer

Arne Vajhøj

unread,
Jan 23, 2013, 8:27:54 PM1/23/13
to
Det er ekstra arbejde. Men det er den rigtige måde at gøre det på.

Mange tråde der bliver startet i en web app gør det umuligt at
manage antal tråde, fordi der udover dem i ASP.NET poolen er
et antal app startede tråde.

Hvis web app recycles, så vil de tråde blive stoppet et eller andet
tilfældigt sted i processen.

Arne


MooreHojer

unread,
Mar 21, 2013, 7:31:39 PM3/21/13
to
Takker for hjælpen
0 new messages