Forum » Programiranje » [.NET]asinhrona procedura v web service metodi
[.NET]asinhrona procedura v web service metodi
MrStein ::
Bi šlo v telesu web service metode pognati eno asinhrono proceduro?
Torej:
WS handler se izvaja ("begin")
požene se asinhrona procedure (trajalo bo predvidoma dolgo)
WS handler se konča in vrne odgovor ("end")
Torej asinhrona procedura bi se izvajala še potem, ko se WS konča on vrne odgovor.
Asinhroni klici bi naj bili core feature v .NET, če sem prav razumel, vprašanje pa je kako je s tem v enterprise okolju (application server, transakcije).
Torej:
WS handler se izvaja ("begin")
požene se asinhrona procedure (trajalo bo predvidoma dolgo)
WS handler se konča in vrne odgovor ("end")
Torej asinhrona procedura bi se izvajala še potem, ko se WS konča on vrne odgovor.
Asinhroni klici bi naj bili core feature v .NET, če sem prav razumel, vprašanje pa je kako je s tem v enterprise okolju (application server, transakcije).
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
- spremenil: MrStein ()
mihies ::
async/await (predpostavljam, da misliš na tole) so del .net 4.5 in preko dodatnih knjižnic tudi na 4.0. Dela fenomenalno.
Kaj misliš s tem "kako"?
Asinhrone procedure niso zato, da tečejo ko se vrne odgovor. So zato, da se vračanje odgovora ustavi, nit se sprosti, ko se asinhrona procedura vrne, se vračanje odgovora nadaljuje.
Z drugimi besedami, asinhronost je zato, da se resursi sprostijo dokler ni razultatov.
Lahko pa poženeš tudi asinhrono metodo, ki nič ne vrača in se je ne čaka - za to zadnje lahko uporabiš kar Task.
Kaj misliš s tem "kako"?
Asinhrone procedure niso zato, da tečejo ko se vrne odgovor. So zato, da se vračanje odgovora ustavi, nit se sprosti, ko se asinhrona procedura vrne, se vračanje odgovora nadaljuje.
Z drugimi besedami, asinhronost je zato, da se resursi sprostijo dokler ni razultatov.
Lahko pa poženeš tudi asinhrono metodo, ki nič ne vrača in se je ne čaka - za to zadnje lahko uporabiš kar Task.
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/
MrStein ::
Ja saj.
Takole bi bil scenarij:
šef dobi telefonski klic, v njem stranka pove zahtevo, šef za trenutek prisloni slušalke na prsi in zakliče "Francelj! Začni delat na tem-in-tem tasku.", nato spet prisloni slušalke ušesom in kulturno zaključi pogovor.
Francelj bo task končal čez dva dni.
Takole bi bil scenarij:
šef dobi telefonski klic, v njem stranka pove zahtevo, šef za trenutek prisloni slušalke na prsi in zakliče "Francelj! Začni delat na tem-in-tem tasku.", nato spet prisloni slušalke ušesom in kulturno zaključi pogovor.
Francelj bo task končal čez dva dni.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
darkolord ::
Načinov je mnogo, je pa res _zelo_ odvisno od tega, kakšen task točno se bo izvajal.
Tukaj je kar nekaj čtiva (malo bolj splošno) na temo izvajanja asinhronih taskov v asp.net.
Načeloma pa spletni strežnik ni ravno namenjen izvajanju res dolgih taskov - za primer naročila, ki si ga omenil, bi bilo verjetno bolje, da spletni servis novo nalogo samo doda v čakalno vrsto, potem jo pa windows service ali nek schedulan task pobere in sprocesira.
Tukaj je kar nekaj čtiva (malo bolj splošno) na temo izvajanja asinhronih taskov v asp.net.
Načeloma pa spletni strežnik ni ravno namenjen izvajanju res dolgih taskov - za primer naročila, ki si ga omenil, bi bilo verjetno bolje, da spletni servis novo nalogo samo doda v čakalno vrsto, potem jo pa windows service ali nek schedulan task pobere in sprocesira.
MrStein ::
Saj ni "spletni strežnik".
Je "velik" sistem za obdelavo podatkov, ki ima med drugim en WS vmesnik.
Je "velik" sistem za obdelavo podatkov, ki ima med drugim en WS vmesnik.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
MrStein ::
"application server", ne "web server", če se tako izrazim.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python primer async/awaitOddelek: Programiranje | 2122 (1228) | jype |
» | Android threadi in asynctaskiOddelek: Programiranje | 1557 (1203) | Kocka |
» | AsinhronostOddelek: Programiranje | 2556 (2325) | mihies |
» | programerska paradigma - WTF? (strani: 1 2 )Oddelek: Programiranje | 6239 (4757) | slitkx |
» | Desktop aplikacije večinoma niso multithreaded??? (strani: 1 2 )Oddelek: Programiranje | 4870 (4116) | Gundolf |