Avatar billede finger Nybegynder
07. februar 2003 - 13:10 Der er 6 kommentarer og
1 løsning

Levetid på objekter på en webservice

Hejsa.

jeg har en webservice der kører på IIS. Denne webservice består af en klasse. på min klient har jeg en reference til min webservice der ikke bliver nedlagt før programmet lukker. når jeg kalder webservicen gennem denne reference igennem flowet i mit program, kan jeg se at klassen med webservice metoderne på IIS'en bliver oprettet og nedlagt for hvert metodekald. Det synes jeg ikke er så fedt.

kan man ikke oprette denne klasse een gang for hver session og bruge den indtil jeg kalder en logoutmetode?
og hvordan gør jeg det? Er det noget der skal gøre i webservicen (web.config) eller på IIS?

//finger
Avatar billede z42cool Nybegynder
07. februar 2003 - 13:20 #1
Jeg tror det ikke idet webservices er stateless og da der ingen garanti er for at folk husker at logge ud vil det ikke være en holdbar løsning. Med remoting kan du specificere et lifetime lease, men jeg tror ikke at noget tilsvarende findes for webservices!
Avatar billede finger Nybegynder
12. februar 2003 - 09:56 #2
min klient er en winformsklient der altid vil logge ud. men hvis det ikke kan lade sig gøre at holde en klasse instantieret alligevel, så er det jo lige meget.
Det vil sige at der ikke er nogen der har en løsning?
Avatar billede z42cool Nybegynder
12. februar 2003 - 10:26 #3
Jeg kan ikke garantere at der ikke er en løsning, men mit bedste bud vil være at der ikke er, da webservices af natur er stateless og det derfor vil være temmeligt modstridende at tillade en instans at overleve et kald!
Avatar billede tuxic Nybegynder
15. februar 2003 - 16:51 #4
Istedet for at kalde dine klasser direkte kan du jo bare kalde således:

A->B->C

hvor A er klasser der oprettes hvergang og som ikke gør andet end at kalde videre til statiske metoder på B. B holder så som statiske members referencer til din klasse C. Alternativt kan du lægge al funktionaliteten i statiske metoder.

Bemærl, at du så skal sikre dig at din kode er trådsikker
Avatar billede finger Nybegynder
19. februar 2003 - 16:31 #5
tuxic--> ikke lige en løsning jeg kan bruge her.

Har løst det på en anden måde.
Avatar billede z42cool Nybegynder
19. februar 2003 - 16:42 #6
For god ordens skyld, vil du så ikke dele din løsning med os andre?
Avatar billede finger Nybegynder
19. februar 2003 - 17:53 #7
jeg har bare samlet flere kald til eet kald og dermed minimeret det samlede antal af kald. det gav en god nok performance forbedring til mig.
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