Trvale pracující vlákno pod IIS – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Trvale pracující vlákno pod IIS – .NET – Fórum – Programujte.comTrvale pracující vlákno pod IIS – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
bh9290
Duch
21. 1. 2014   #1
-
0
-

Nazdar všem,

měl bych dotaz. Potřebuji si vytvořit webovou službu (pod IIS 7, C#), která by přijímala požadavky GET a POST (SOAP) a tyto požadavky dále zpracovávala paralelně, avšak na příchozí požadavek již mohla být odeslána odpověď (třeba o akceptaci, informaci o chybě a spol.). Jde o to, že požadavky mohou chodit od více uživatelů, ale cílová aplikace je schopna je zpracovávat postupně tj. přes frontu. 

Jedno z řešení co mě napadlo je že WS by pouze přijímala požadavky a ukládala je na disk jako XML a pod windows by běžela windows services, která by si kontrolovala obsah adresáře a vyzobávala by si z něj jako z fronty jednotlivá XML a předávala je finální aplikaci po jednom (finální aplikace potvrzuje dokončení zpracování, dokud nepotvrdí, nespadne nebo nevyprší timeout nedostane další)

OTÁZKA JE: nedá se nějak pod WS na IIS 7 spustit i nějaký kód na způsob windows services, který by byl schopen pracovat nepřetržitě (fronta s nahromaděnými požadavky se může zpracovávat dlouho po tom co přišel poslední požadavek). Nechce se mi moc zpravovat další proces, např. tak aby přes admin rozhraní webové služby bylo možno zkontrolovat stav trvale běžící aplikace, nebo do ní zasáhnou..

Předem díky za možné náměty

Nahlásit jako SPAM
IP: 95.82.152.–
Reklama
Reklama
JardaJirava0
Stálý člen
29. 1. 2014   #2
-
0
-

Ahoj,

  samozřejmě můžeš rozjet při startu aplikace další vlákno, které se bude starat o potřebnou činnost a bude nezávislé od příchozího požadavku.

  Co budeš v takovém případě potřebovat vyřešit je třeba: samotné nastartování aplikace, pokud je nastaveno automatické restartování poolu a nepřijde žádný požadavek (další vlákno, které se dotazuje na samotnou aplikaci?). Co v případě, že dojde k chybě a vlákno bude ukončeno atd.

  Určitě bych nezavrhoval možnost spustit winservice, která bude využívat třeba message queue do které bude web aplikace posílat data.

  Pěkný den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
bh9290
Duch
29. 1. 2014   #3
-
0
-

Nazdar,

jj, zkoušel jsem i jiné fora a vesměs byl výsledek stejný. Pokud mám k dispozici server tak jít cestou win services.

Což jsem nakonec i udělal s tím, že web services pracuje v roli pošťáka, který zásilky ukládá na disk, kde si je koncová aplikace vyzvedává v intervalech zajišťovaných windows services. Mám připravenou i variantu s TCP sockety pro přímé volání, abych nemusel používat nějaké periodické kontroly.

Co se týče message queue tak to co jsem jednou zkoušel s tímto bylo nějaké "těžkopádné" a momentálně raději komunikuji přes TCP.

Nahlásit jako SPAM
IP: 83.208.5.–
JardaJirava0
Stálý člen
30. 1. 2014   #4
-
0
-

Ahoj,

nevím, jak moc těžkopádné to muselo být, asi každý máme jiný vkus. U MQ máš rovnou zajištěno, že je to queue a zároveň může být persistentní, případně transakční, což při TCP spojení musíš vše řešit znovu.

Pěkný den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 56 hostů

Podobná vlákna

Metody pracujici na miste — založil Pavel

Nefunguje IIS (?) — založil Qwertz

IIS a WIn Vista — založil Sniper

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý