Jag har en webservice (vb.net, asmx). Det finns så vitt jag vet inget sansat sätt att få det du efterfrågar att fungera som önskat och felfritt som enbart en webbservice. En vanlig lösning är att webservicen lägger upp en begäran i en kö av något slag, och att en annan (icke-webb)tjänst läser från kön. T.ex. kan begäran representeras av en post i en databastabell, och att denna pollas av regelbundet av en traditionell service som tar bort/klarmarkerar posten när den bearbetats framgångsrikt. Tack svaret. Scott Hanselman har botaniserat lite i ämnet. TL;DR; är såvitt jag förstår det hela att det är i princip omöjligt att lita på att ett jobb som kan ta mer än 90 sekunder ska kunna köras i "bakgrunden" vid ett givet tillfälle m.h.a. enbart IIS.BrokenThreads
Där finns Function1.
Denna funktion tar 5-45 sekunder att köra.
Den anropas utifrån av ett externt system.
Den returnerar XML.
Innan den returnerade XML-strängen skapas, startar function1 en ny tråd, denna nya tråd (function2) tar 4 minuter att köra.
Problemet är att funtion2 blir bruten när function1 har körts klart.
Förstår att detta är någon form av (i detta fall oönskad) säkerthet.
Jag vill alltså att function2 INTE ska stoppas pga function1 stängs (har gått klart).
Är detta möjligt, isf hur?
Alla ideer mottages tacksamt.
/ MikaelSv: BrokenThreads
Sv:BrokenThreads
Jag har varit inne på liknande tanke, men vill helst slippa en extra process/tjänst/applikation inblandad.
Men troligen måste jag bygga en fristående process/windowstjänst som pollar efter jobb i exvis en databaskö.
Vi får se om någon annan svarat med teori/lösning.Sv: BrokenThreads