[ASP] Iets anders dan response.redirect?

Pagina: 1
Acties:
  • 570 views sinds 30-01-2008
  • Reageer

  • foske
  • Registratie: Juli 2001
  • Laatst online: 26-05 10:03
Halle!

Om maar gelijk met de deur in huis te vallen, ik ben op zoek naar andere mogelijkheden dan response.redirect.
Waarom hoor ik jullie nu al vragen, nou het volgende:

Het is een 'systeempje' om links te tellen. Het is dus een speciale pagina, die in de link wordt opgenomen, en in die link een het adres van url waar de gebruiker eigenlijk heen moet, (bv. link: http://www.test.nl/redirect.asp?url=http://www.google.nl)

Heel simpel eigenlijk. Aleen wat wil ik nou, ik wil dat hij eerst de pagina redirect, en dan pas de gegevens naar de database schrijft. Dit om zo enige 'delay' te voorkomen.
Nadeel van response.redirect is, hij stopt er hierna gewoon mee...

De volgende oplossingen ben ik tegen gekomen:
javascript:
response.write "<script language='javascript'>document.location='" & request("url") & "'; </script>"

Dit doet wat ik wil, alleen is het javascript afhankelijk, en ik wil dat de link redirect ook onder niet java browsers werkt (of uitgeschakeld) valt dus af.

zoals php:
response.AddHeader "Location", request("url")

Alleen, die laatste werkt niet, en volgens mij kan deze precies doen wat ik wil, dus mijn vraag is eigenlijk, waarom werkt die response.addheader niet, en/of is er een andere methode die ik misschien over het hoofd heb gezien?

Bedenkt

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

response.AddHeader "Location", request("url") wordt omgezet afaik naar een 302 Status

Response.Redirect wordt iig omgezet naar een 302 Status.

En ik snap het probleem niet; weg is weg. Wat is er mis met:

ASP:
1
2
' Code voor updaten van hitcount
' Redirecten

als dit de tijdsvertraging oplevert, is er iets anders gruwelijks mis.. :X

Wil je het omdraaien, dan zit je denk ik toch vast aan een clientside oplossing.

En waarom gebruik je Request en geen Request.Querystring?

[ Voor 33% gewijzigd door gorgi_19 op 13-03-2004 18:19 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Fossie schreef op 13 maart 2004 @ 18:10:
Heel simpel eigenlijk. Aleen wat wil ik nou, ik wil dat hij eerst de pagina redirect, en dan pas de gegevens naar de database schrijft. Dit om zo enige 'delay' te voorkomen.
Als je daar delays mee krijgt die merkbaar zijn, maak dan een queue van hit-regels die door een aparte thread verwerkt worden ofzo.

Als je dat ook niet wilt, zie gorgi ;)

Je bent met de client-server-http oplossingen min of meer verplicht om _eerst_ je werk (deels) te doen en dan het resultaat op te sturen, je kan wel tijdens het opsturen nog dingen uit gaan rekenen, maar verwacht daar eerder meer dan minder vertraging mee tenzij je heel veel gegevens op wilt sturen (een header opsturen is niet zoveel).

Kunstgrepen om nadat de client een response heeft binnengekregen toch nog werk uit te voeren lijkt me niet zo handig, iig meer werk dan wellicht nodig is :)

  • foske
  • Registratie: Juli 2001
  • Laatst online: 26-05 10:03
De rede waarom ik het zo wilde doen, heeft idd te maken dat het algemeen verwerken van de database een stukje sneller kan, daar ben ik ook nog steeds mee bezig, en omdat ik een aantal sites ken die hier ook van gebruik maken (bijvoorbeeld www.mini-itx.com) en die is soms behoorlijk traag, nou leek mijn dit een mooie manier om de gebruiker iig niet ook deze vertraging te laten merken...

En waarom ik niet querystring erbij gebruik, ja eigenlijk beetje gemakzucht... :/

Maar bedankt voor jullie tijd, kan ik weer verder stoeien :+

[ Voor 8% gewijzigd door foske op 13-03-2004 19:03 ]


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 26-05 23:39

mulder

ik spuug op het trottoir

Volgens mij is Request("url") inprincipe langzamer dan Request.QueryString("url"), ook weer tijdswinst dus :)

oogjes open, snaveltjes dicht


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

Wat je zou kunnen doen, als je daar mogelijkheden toe hebt uitteraard, is kijken of je iets van een dll kan maken, maar volgens mij moet het wegschrijven naar de db, met een insert of update.. nooit zoveel vertraging opleveren dat je echt een tijdwinst kan halen met een dll..

Maar misschien helpt het...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Jaspertje schreef op 13 maart 2004 @ 20:05:
Wat je zou kunnen doen, als je daar mogelijkheden toe hebt uitteraard, is kijken of je iets van een dll kan maken, maar volgens mij moet het wegschrijven naar de db, met een insert of update.. nooit zoveel vertraging opleveren dat je echt een tijdwinst kan halen met een dll..

Maar misschien helpt het...
Ik denk dat als je bottleneck ligt in:
SQL:
1
Update Tabelnaam set Aantal = Aantal + 1 Where ID = 2

je iets anders gruwelijk mis doet en je ws best wel eens een basiscursusje indexen leggen mag gebruiken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1