Avatar billede mickni33 Nybegynder
14. maj 2003 - 10:06 Der er 7 kommentarer og
1 løsning

ISAPI eller COM

Jeg har lavet en ISAPI dll i C++ Builder den er meget smart hvis man skal involvere en webside.
Men nu er jeg ude i et problem.

Når jeg åbner browseren på den ene maskine kører det hele ok. Hvis jeg så åbner browseren på en anden maskine så står den og venter og det er jo selfølgelig fordi den første maskine bruger dll'en

Men det er jo ikke det der er meningen.

Skal man på en eller anden måde Kill'e dll processen så den anden maskine kan oprette en new Dll eller skulle det virke ppå denne måde og så er det måske bare mig der fumler lidt.

ELLER

måske skulle jeg istedet lave det om til et Com objekt som jeg selv kunne styre i min ASP kode, der vil der jo blive oprette et nyt objekt hvergang ASP siden bliver vist ved hjælp af Server.CreateObject

Det er første gang jeg prøver at lave COM, ISAPI så jeg er ikke lige helt med på hvad der er smartest.
Avatar billede arne_v Ekspert
14. maj 2003 - 12:29 #1
Et ISAPI modul bør kunne kaldes af flere tråde parallelt.

Det er nærmest hele formålet med ISAPI.

ISAPI er til specifik web-server brug. COM er en helt generel
komponent teknologi.
Avatar billede mickni33 Nybegynder
14. maj 2003 - 12:50 #2
jaaa så er det nok min kodning der driller lidt.

dvs jeg behøver ikke at oprette tråde i min ISAPI ?

Tilgår webklienterne den samme Dll og den samme data når de går ind på ASP siden eller har hver klient hver deres dll?
ps lav lige et svar
Avatar billede arne_v Ekspert
14. maj 2003 - 12:57 #3
En ISAPI DLL er et stykke kode der bliver loadet en gang.

Og så bliver funktionerne i den kaldt flere gang evt. flere
gange samtidigt.

D.v.s. den skal være thread safe.

Så enten kun lokale variable eller passende synkronisering.
Avatar billede arne_v Ekspert
14. maj 2003 - 12:57 #4
svar
Avatar billede mickni33 Nybegynder
14. maj 2003 - 13:04 #5
aaaaahhh okay kun lokale variabler, den prøver jeg det kan være det er der den kokser.

jeg er ved at lave noget socket som er pakket ind i min ISAPI og vises så på en webside... Det er faktisk et rigtig spændende projekt.
Avatar billede arne_v Ekspert
14. maj 2003 - 13:06 #6
Eller passende synkroniserinh.

"critical sesction" eller lignende.
Avatar billede websmith Nybegynder
14. maj 2003 - 13:09 #7
Måske kan det også være den måde dll'en er kompileret på, om det skal være single-thread eller multi. Jeg mener at man kan sætte compiler parametre med som angiver om det er single use eller multi-use, dvs. om mere end en process kan bruge en dll af gangen.

Det kan selvfølgelig være at jeg husker forkert.
Avatar billede mickni33 Nybegynder
14. maj 2003 - 13:11 #8
nåååå <<websmith>> det kan du have ret i.. kigger lige
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
Kurser inden for grundlæggende programmering

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