Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Response.Redirect("URL") ne fonctionne pas sous IIS 4

6 réponses
Avatar
teddy
Bonjour,

J'ai déjà posé la question jeudi dernier mais elle a été supprimée (?).

Je la repose donc : à savoir qu'il s'agit d'un site sous WIN 2000 / IIS5 que
je dois transférer sur un vieux serveur NT4 / IIS4.

Et là, surprise...
J'ai une erreur concernant les en-têtes HTTP dans chaque page ASP utilisant
un Response.Redirect("URL").

J'ai bien essayé de rajouter Response.Buffer = True en début de page ASP
comme on me l'a suggéré mais cela ne change rien.

Est-ce que cette instruction est reconnue sous IIS 4 ?

Merci beaucoup d'avance pour votre avis.

Ted

6 réponses

Avatar
Martin CLAVREUIL
La methode redirect de l'objet response existe bien sur IIS 4.
J'en ai moi-même usé et abusé lorsque nous étions sous NT.
Dans ton cas peut-être devrais-tu vérifier les quelques points suivants :

- Le script ASP est situé tout en haut de la page
- Il n'y a pas d'inclusion server ou de server.execute avant

Si malgre tout ceci l'erreur (les en-tetes sont déja transmises au clients)
continue, tu peux :
1/ mettre en commentaire le redirect
2/ Acceder à ton site en telnet (telnet www.monsite.com 80)
3/ Taper GET / (ENTER)
et regarder ce qui se passe
Avatar
Yan
Michel Thiffault wrote:
Ajoute "Response.Clear" avant ton "Response.Redirect"




ou

response.buffer=true

en tête de page :)

a+







" teddy" wrote in message
news:
Bonjour,

J'ai déjà posé la question jeudi dernier mais elle a été supprimée
(?).

Je la repose donc : à savoir qu'il s'agit d'un site sous WIN 2000 /
IIS5 que je dois transférer sur un vieux serveur NT4 / IIS4.

Et là, surprise...
J'ai une erreur concernant les en-têtes HTTP dans chaque page ASP
utilisant un Response.Redirect("URL").

J'ai bien essayé de rajouter Response.Buffer = True en début de
page ASP comme on me l'a suggéré mais cela ne change rien.

Est-ce que cette instruction est reconnue sous IIS 4 ?

Merci beaucoup d'avance pour votre avis.

Ted




Avatar
Pierre Goiffon
Dans le message:,
teddy a écrit:
J'ai déjà posé la question jeudi dernier mais elle a été supprimée
(?).



Mhh, votre serveur de news ou votre client ont un prb, je les ais bien
toujours dans la liste. Pour vérifier, vous pouvez utiliser Google
Groups !

Sinon pour répondre à votre question, il s'agit très probablement d'un
prb avec la variables response.buffer : sur IIS5 la config par défaut
est autre que sur IIS4 ! Il faut donc le fixer à True si vous souhaiter
placer votre redirect après que les variables d'entetes aient été
envoyées (cad avant que tout code HTML ne soit lancé au client)

--
_________________________________________________________
/
. Pierre GOIFFON .
. p g o i f f o n @ w e b c i t y . f r .
_________________________________________________________/
Un grand merci à OE Quote Fix pour rendre OE utilisable :)
=> http://home.in.tum.de/~jain/software/quotefix.php
Avatar
teddy
J'ai bien au début de chaque page un #include file vers un fichier ASP qui
contient toutes mes fonctions ce qui est plus pratique pour la maintenance
et la réutilisation.

Serait-ce le fautif ?
Je vais essayer de l'enlever "pour voir" ...

Merci et à bientôt.

Ted

"Martin CLAVREUIL" a écrit dans le message de
news:eN$
La methode redirect de l'objet response existe bien sur IIS 4.
J'en ai moi-même usé et abusé lorsque nous étions sous NT.
Dans ton cas peut-être devrais-tu vérifier les quelques points suivants :

- Le script ASP est situé tout en haut de la page
- Il n'y a pas d'inclusion server ou de server.execute avant

Si malgre tout ceci l'erreur (les en-tetes sont déja transmises au


clients)
continue, tu peux :
1/ mettre en commentaire le redirect
2/ Acceder à ton site en telnet (telnet www.monsite.com 80)
3/ Taper GET / (ENTER)
et regarder ce qui se passe




Avatar
teddy
J'ai essayé mais cela ne change rien :-(((((


"Michel Thiffault" a écrit dans le message de
news:
Ajoute "Response.Clear" avant ton "Response.Redirect"

" teddy" wrote in message
news:
> Bonjour,
>
> J'ai déjà posé la question jeudi dernier mais elle a été supprimée (?).
>
> Je la repose donc : à savoir qu'il s'agit d'un site sous WIN 2000 / IIS5
que
> je dois transférer sur un vieux serveur NT4 / IIS4.
>
> Et là, surprise...
> J'ai une erreur concernant les en-têtes HTTP dans chaque page ASP
utilisant
> un Response.Redirect("URL").
>
> J'ai bien essayé de rajouter Response.Buffer = True en début de page


ASP
> comme on me l'a suggéré mais cela ne change rien.
>
> Est-ce que cette instruction est reconnue sous IIS 4 ?
>
> Merci beaucoup d'avance pour votre avis.
>
> Ted
>
>
>
>




Avatar
teddy
J'ai bien au début de chaque page un #include file vers un fichier ASP qui
contient toutes mes fonctions ce qui est plus pratique pour la maintenance
et la réutilisation.

Apparemment, cela cause un problème à cette méthode sous IIS4 alors que ca
marche sous IIS 5 sans changer une ligne !


Ted


"Pierre Goiffon" a écrit dans le message de
news:bhan5f$9dm$
Dans le message:,
teddy a écrit:
> J'ai déjà posé la question jeudi dernier mais elle a été supprimée
> (?).

Mhh, votre serveur de news ou votre client ont un prb, je les ais bien
toujours dans la liste. Pour vérifier, vous pouvez utiliser Google
Groups !

Sinon pour répondre à votre question, il s'agit très probablement d'un
prb avec la variables response.buffer : sur IIS5 la config par défaut
est autre que sur IIS4 ! Il faut donc le fixer à True si vous souhaiter
placer votre redirect après que les variables d'entetes aient été
envoyées (cad avant que tout code HTML ne soit lancé au client)

--
_________________________________________________________
/
. Pierre GOIFFON .
. p g o i f f o n @ w e b c i t y . f r .
_________________________________________________________/
Un grand merci à OE Quote Fix pour rendre OE utilisable :)
=> http://home.in.tum.de/~jain/software/quotefix.php