Avatar billede dk_zerocool Nybegynder
28. februar 2006 - 08:30 Der er 8 kommentarer og
1 løsning

Optimering af tung import på website

Jeg er webmaster for et site, hvor jeg har nogle temmelige tidstunge import-funktioner som henter data fra en ekstern side.

Derfor lyder mit spørgsmål om der findes en måde hvorpå man kan have disse importfunktioner til at køre unden at brugeren belastes af dem. Importfunktionerne skal gerne kunne køres flere gange ved hvert besøg.

Jeg har desværre ikke selv en webserver til at stå som kan køre importen som en applikation.

Jeg har dog selv tænkt på en løsning hvor jeg deler mit site op i 2 frames, hvor den ene frame kører importen men ikke vises for brugeren, men synes selv det er lidt en dårlig løsning på problemet.
Avatar billede snepnet Nybegynder
28. februar 2006 - 10:27 #1
Du kan køre det i en tråd for sig selv.
mvh
Avatar billede snepnet Nybegynder
28. februar 2006 - 10:29 #2
det er relativt simpelt at starte en tråd op - her lige et kort eksempel:

en klasse der kan udføre arbejdet:

public class SomeWorker
{
  public void DoSomeWork()
  {
    // ...
  }
}

og så eksekvering af metoden i en tråd for sig:

SomeWorker worker = new SomeWorker();
ThreadStart ts = new ThreadStart(worker.DoSomeWork);
Thread t = new Thread(ts);
t.Start();

mvh
Avatar billede dk_zerocool Nybegynder
28. februar 2006 - 10:35 #3
Det lyder rigtig godt, jeg vil forsøge det i aften. Men jeg har lige et tillægsspørgsmål: Hvis nu en bruger går ind på siden og jeg starter den nye tråd, vil tråden så køre videre hvis brugere fx. lukker browser-vinduet ned?
Avatar billede snepnet Nybegynder
28. februar 2006 - 10:51 #4
serveren aner som udgangpunkt ikke et kvæk om hvorvidt browseren lukkes eller ej, så det behøver du ikke bekymre dig om.... din tråd skal nok køre færdig.
eksemplet jeg sendte er dog nok det simplest mulige, og du kommer nok til at lave lidt mere før det er tilfredsstillende - men du kan lige prøve eksemplet først, så kan vi jo skrive videre efterfølgende.
mvh
Avatar billede snepnet Nybegynder
28. februar 2006 - 13:31 #5
måske du kan bruge eksemplet nederst i denne tråd til noget:
http://www.eksperten.dk/spm/691193
mvh
Avatar billede dk_zerocool Nybegynder
01. marts 2006 - 09:37 #6
Perfekt, det virker som det skal, brugeren mærker ikke noget til den tunge import, men kan det passe at hvis der bliver smidt en exception i tråden så vil jeg ikke kunne gribe den?
Avatar billede snepnet Nybegynder
01. marts 2006 - 11:32 #7
du kan lige tage et kig her (en tråd - med et link):
http://www.dotnet247.com/247reference/msgs/41/207764.aspx
mvh
Avatar billede dk_zerocool Nybegynder
02. marts 2006 - 09:06 #8
Det er helt perfekt, jeg fik løst problemet med exceptions. Mange tak for hjælpen, det var meget brugbart. Vil du ikke smide et svar?
Avatar billede snepnet Nybegynder
02. marts 2006 - 10:21 #9
kommer her :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester