Intet svar fra serveren

Tags:    asp.net c# iis web.config

Jeg har en asp.net side som har en <asp:button> der kalder en metode på serveren - helt almindelig måde at opføre sig på i asp.net :-)

Metoden der kaldes kan tage 5-10 minutter og den del kan ikke optimeres ret meget, da det kommer an på antallet af records den skal løbe igennem og det er mange tusinde.

På et tidspunkt bliver den færdig på serveren og den udfører også det den skal, men asp.net siden får aldrig et svar og den bliver bare stående med min spinner / ventetekst, indtil den rammer time-out værdien i web.config (executiontimeout).



Har i en god ide til, hvad jeg skal lave om, så den stadig får et svar tilbage når den er færdig og ikke bare så og hænger?




5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Jeg har med fordel brugt SignalR til at lave noget ligende. Ved at bruge SignalR, kan du udover at sende status løbende, sende en besked til klienten når den er færdig. Du kan altså undgå både at vente på serveren, men også undgå at lave forespørgsler hele tiden for at finde ud af, om den er færdig.

SignalR har en del fallbacks, men for at det skal virke bedst skal det være IIS 8 og IE10+ (websockets).



Indlæg senest redigeret d. 01.04.2014 10:56 af Bruger #16372
Det vil jeg tage et kig på. Det undrer mig bare at den helt basic asp.net life-cycle ikke gør at den kommer tilbage til asp.net siden når den er færdig på serveren. For jeg har ikke et behov for at få svar undervejs.

Jeg håbede lidt at det bare var web.config setting :-)



Jeg har ofte brugt noget spooling til at lave den slags.
Altså så klienten sender noget data til serveren, som gemmer det i en fil, og sender et id tilbage som identificerer opgaven.
På serveren står der så en daemon, som kigger efter disse filer og udfører opgaven og jævnligt indikerer status ved at skrive til en anden fil som kan findes ud fra førnævnte id.

Klienten kan så jævnligt spørge ind til status på opgaven ved at sende id til serveren, og når resultatet foreligger, kan det hentes.



Robert ville det ikke være meget smartere at bruge Redis til sådan noget i stedet for filer hvor der kan opstå læse/skrive blockeringer?



@dan
Måske....har dog aldrig oplevet problemer.

Mange servere er opbygget på den måde (postfix, smsd, cups,...).




t