(har försökt hitta svaret genom att söka igenom Pellesofts forum men inte lyckats) Är det inte en windowsservice du vill göra? Det är möjligt. Förstod tyvärr inte riktigt hur det skall lösa mitt problem. kör uppdateringen i en egen tråd/process så borde det ju funka.. Ok, nä då funkar ju inte det... Ja det är klart, tyvärr är det så att webbplatsen är byggd i asp och det är bara detta "script" som är ASP.NET ännu. Det går att göra Threading även på asp.net, men jag har inte testat detta än. Så leta efter några vb.net program för threading och testa använda den koden för att se om du kan komma i mål. ok, jag har lite svårt att utrycka mig klart... det var olyckligt att skriva "uppdateringsprocess" ovan. Det är alltså inte något krav, eller ens speciellt intressant, att detta ska gå i en egen process. Det behöver bara triggas igång av att användaren kommer till sidan. Om ingen uppdatering har skett senaste 6 timmarna dras det hela igång. Jag antar att global.asa kommer lösa problemet. Du kommer nog inte undan den där 15 sekundersfördröjningen om du skall trigga starten på global.asax eller någon sida. Du har nog inget annat alternativ än trådning såvida inte du kan skriva egna komponenter eller just trådningen är jag rädd för. OK , trist. Vill inte verka oförskämd, det är inte min mening alls, men man får vad man betalar för. Det finns webbhotell där du får installera services och andra saker. Det handlar bara om att man betalar för de tjänsterna. Man kan inte bygga världens grymmaste och mest teknisktinovativa lösningar på ett vanligt webbhotell.. tyvärr =/ Om det är tillåtet borde du kunna innifrån asp anropa via xmlhttp en dummy aspx-sida som kan dra igång trådningen (om man anropar någon asp.net sida direkt så behövs det inte). Sedan kan du ha en tråd som ligger igång jämt. Den tråden startas ifrån globala.asa<b>x</b>. Problemet löst! :) Andreas >> Det är lungt :) Med tanke på att jag inte betalar alls för webbhotellet utan blir sponsrad av en fd. arbetsgivare så är det svårt att ställa tuffa krav. Min dröm är ju självklart att ha råd med den egen server som hostas av lämplig partner. Köra vb.net i bakgrunden, frikopplat från användaren
Jag har en serie metoder i en codebehind sida. Metoden utför ett antal arbetssteg som går ut på att den hämtar information från en annan webbplats och sedan uppdaterar min databas med senaste informationen. Idag måste jag trycka igång metoden via mitt admingränssnitt varje gång jag vill att den skall köras. Sidan jag hämtar data ifrån uppdateras inte särskilt ofta, ca tre gånger i veckan.
Det jag vill göra nu är att varje gång en besökare kommer till min webbplats sker en kontroll när senaste hämtningen skedde. Om det gått säg mer än 6 timmar sedan sist så vill jag dra igång uppdateringen. Hela uppdateringen tar ungefär 15 sekunder så jag vill inte att användaren ska bli sittande och vänta på att den blir klar utan vill ju köra processen helt frikopplat från användaren. Ev. felmeddelanden hanterar jag i en log-fil så det behöver inte skickas upp till användaren.
Någon som har en ideé på hur detta implementeras i ASP.NET/VB.NET eller C#Sv: Köra vb.net i bakgrunden, frikopplat från användaren
http://www.codeproject.com/csharp/windowsservice.aspSv: Köra vb.net i bakgrunden, frikopplat från användaren
Jag missade nog en viktig detalj i min beskrivning ovan, min webbplats ligger på ett "vanligt" webbhotell och jag har ingen möjlighet från min egen maskin trigga igång händelsen, annars vore det enkelt att bygga en snurra på min egen burk som går ut och drar igång uppdaterinen var 6e timme. Målet för mig att är uppdateringprocessen skall köras helt fristående utan inblandning från mig. Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Men precis som Simon säger... at dra igång en egen process i typ Application start borde väl funka...Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Antar att global.asa inte är så tillförlitlig för detta ?
Kanske frågan skulle passa bättre i ASP-forumet ...Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Jag skapar en variabel i global.asa som håller senaste tidpunkt för uppdatering. Om den är tom eller mer än 6 timmar gammal när en besökare anländer startas min uppdateringsaktivitet. Antar att detta kan startas i onSession_start men en sak förstår jag inte. Om vi antar att uppdateringen startas på sidan updatetable.asp vid "Page_init", i vb.net alltså, så behöver jag få global.asa att agera besökare av updatetable.asp. Hur gör jag detta ?
tack för all hjälp hittils, snart har jag all info jag behöver !
jsSv: Köra vb.net i bakgrunden, frikopplat från användaren
Nån användare kommer helt enkelt bli drabbad hur du än försöker. En annan variant är att vända förloppet och låta den andra sidan föda din hemsida med information per intervall.Sv: Köra vb.net i bakgrunden, frikopplat från användaren
om någon kommer på något käckt sätt så tveka inte att posta det här.Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Är jäkligt trött i huvudet efter att ha skrivit XSLT kod hela dagen så jag kan tyvärr inte komma på om det skulle finnas något finnurligt sätt att lösa detta på.. min spontana tanke är som pelle säger - någon blir alltid drabbad.Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Sv: Köra vb.net i bakgrunden, frikopplat från användaren
Ville egentlige bara kolla huruvuda detta är tekniskt möjligt. Ibland är det ju så att någonting inte går att göra och då är det så. Pelles lösning ska jag kolla lite på vid tillfälle. tack för insatsen alla !