Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
938 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  [ASP] Redirection coté serveur.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ASP] Redirection coté serveur.

n°267131
Leg9
Fire walk with me
Posté le 11-12-2002 à 14:45:28  profilanswer
 

Salut,  
Je cherche à faire une redirection coté serveur en ASP.
 
C'est à dire que dans la page1.asp je fais un test, qui s'il est positif continue l'éxécution de la page1.asp, sinon, file directement vers la page2.asp
 
J'ai bien un truc en JS qui me fait ça :

Code :
  1. <%
  2. if (test = 1) then
  3. %>
  4. <script language="javascript">
  5. window.navigate("page2.asp" );
  6. </script>
  7. <%
  8. end if
  9. %>


 
Mais évidemment ça n'agit que coté client, donc envoi de la page, execution du JS sur le poste client, puis redirection.
 
Cela pose des pbs en termes de flux réseau qu'il faut minimiser et aussi parce que le début la page1.asp a le temps d'apparaitre juste avant le redirect, c'est un peu crade. :/
 
Merci de votre aide :hello:


Message édité par Leg9 le 11-12-2002 à 14:48:45

---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
mood
Publicité
Posté le 11-12-2002 à 14:45:28  profilanswer
 

n°267187
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 15:26:08  profilanswer
 

<%response.buffer = TRUE
URL="page2.asp"
response.redirect URL%>


Message édité par snake-bis le 11-12-2002 à 15:27:23
n°267230
Leg9
Fire walk with me
Posté le 11-12-2002 à 15:51:00  profilanswer
 

snake-bis a écrit :

<%response.buffer = TRUE
URL="page2.asp"
response.redirect URL%>


Ok je teste merci :hello:
 
Le Response.Redirect("page2.asp" ) seul ne marchait pas, quelle est l'action du Response.Buffer=TRUE stp? :)


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267231
Leg9
Fire walk with me
Posté le 11-12-2002 à 15:53:22  profilanswer
 

Marche pas. :/


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267233
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 15:53:57  profilanswer
 

Leg9 a écrit :


Ok je teste merci :hello:
 
Le Response.Redirect("page2.asp" ) seul ne marchait pas, quelle est l'action du Response.Buffer=TRUE stp? :)


c'est pour dire au seveur d'executer la commande tout de suite

n°267235
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 15:54:31  profilanswer
 

Leg9 a écrit :

Marche pas. :/


ah...ben sur mon serveur ca fonctionne...je vais kan même regarder...deux secondes

n°267238
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 15:55:41  profilanswer
 

et comme ça :
<%response.buffer=true
URL="page2.asp"
Response.Redirect URL%>
 
c'est exactement ce que j'ai et je viens de tester, ca marche

n°267279
Leg9
Fire walk with me
Posté le 11-12-2002 à 16:15:30  profilanswer
 

Rhaaaa.... marche pas. :(

Code :
  1. <%
  2. if (nboccurs = 1) then
  3. response.buffer=true
  4. URL="../test/essai.asp"
  5. Response.Redirect URL
  6. end if
  7. %>


 
A savoir (aurais je oublié de le signaler?:whistle: )les pages Asp origine et destination (1 et 2 quoi) sont dans une frame...


Message édité par Leg9 le 11-12-2002 à 16:15:54

---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267344
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 16:58:37  profilanswer
 

moi ca reste dans le frame.
Sinon, le response.buffer, tu le mets au tout debut du code de ta page, la première ligne.
T'as koi comme OS ?

n°267356
Leg9
Fire walk with me
Posté le 11-12-2002 à 17:04:21  profilanswer
 

snake-bis a écrit :

moi ca reste dans le frame.
Sinon, le response.buffer, tu le mets au tout debut du code de ta page, la première ligne.
T'as koi comme OS ?


Ok j'essaie.
 
Win2k.


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
mood
Publicité
Posté le 11-12-2002 à 17:04:21  profilanswer
 

n°267360
Leg9
Fire walk with me
Posté le 11-12-2002 à 17:05:35  profilanswer
 

Rien à faire... ça veut pas. [:w3c compliant]


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267400
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 17:23:16  profilanswer
 

Leg9 a écrit :

Rien à faire... ça veut pas. [:w3c compliant]


putain, chelou, j'ai IIS sur XP Pro, et ca marche.
il t'affiche une erreur, il fait quelque chose ? ou il attends betement ?
tapes ça
<%  
response.buffer=true  
if (nboccurs = 1) then  
reponse.write "ok<br>"
URL="../test/essai.asp"  
response.write "URL"
Response.Redirect URL  
end if  
%>  
 
 
et dis moi s'il affiche bien sur ta page :
 
Ok
../test/essai.asp

n°267411
Leg9
Fire walk with me
Posté le 11-12-2002 à 17:28:59  profilanswer
 

Il affiche la page1.asp, pas de redirect en fait, pas d'erreur non plus...
 
Mon test fonctionne à priori puisqu'en mettant du JS au millieu de l'ASP, ça redirigeait... :/
 
Je teste ta version, je reviens.


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267414
Leg9
Fire walk with me
Posté le 11-12-2002 à 17:31:23  profilanswer
 

Arff... alors, response.write "URL" ca affiche... URL! :D
 
Normal. ;)
 
Donc il passe bien dans le test. MAIS... il n'affiche pas "ok".. [:w3c compliant]


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267417
Leg9
Fire walk with me
Posté le 11-12-2002 à 17:32:10  profilanswer
 

Après correction, il m'affiche bien ../test/essai.asp, mais toujours pas de "ok"...
 
edit : reSponse.write "Ok</br>", corrigé, ça marche...
Mais ça ne redirige toujours pas...
 
edit2 : *TILT!*
Ton serveur est ta machine? Celle sur laquelle tu effectues le test?


Message édité par Leg9 le 11-12-2002 à 17:40:39

---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267440
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 17:48:25  profilanswer
 

Leg9 a écrit :

Après correction, il m'affiche bien ../test/essai.asp, mais toujours pas de "ok"...
 
edit : reSponse.write "Ok</br>", corrigé, ça marche...
Mais ça ne redirige toujours pas...
 
edit2 : *TILT!*
Ton serveur est ta machine? Celle sur laquelle tu effectues le test?


bon, on resume (excuse pour les erreurs de syntaxe ;) ) :
la page source, celle ou il y a le redirect = test.asp
la page destination (dans le cas ou elle est dans le sous repertoire /test) = essai.asp
 
je viens de créer le même truc que toi et ça marche chez moi.
voila ce que j'ai :
repertoire de base : fichier test.asp
repertoire /test : fichier essai.asp
 
contenu de test.asp :
<%  
response.buffer=true  
nboccurs = 1
if (nboccurs = 1) then  
response.write "ok<br>"  
URL="../test/essai.asp"  
response.write URL
Response.Redirect URL  
end if  
%>  
 
contenu de essai.asp :
<%response.write "ok ca marche"%>
 
 
resultat, il affiche "ok ca marche"

n°267443
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 17:49:51  profilanswer
 

pour le tilt, oui, mais je peux faire le test sur une autre mais je suis sur à 100% que ca marchera...je fais le test

n°267458
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 17:58:05  profilanswer
 

Je confirme, ca marche sur un autre poste

n°267461
Leg9
Fire walk with me
Posté le 11-12-2002 à 18:00:52  profilanswer
 

Je confirme... je viens de trouver une autre page de mon appli, juste dans un autre rep, ou le Response.Redirect marche!!! [:w3c compliant]
 
Là, impossible...
 
Hum... peut être l'utilisation de fonctions extérieures qui interfèrent...


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267465
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 18:02:08  profilanswer
 

Leg9 a écrit :

Je confirme... je viens de trouver une autre page de mon appli, juste dans un autre rep, ou le Response.Redirect marche!!! [:w3c compliant]
 
Là, impossible...
 
Hum... peut être l'utilisation de fonctions extérieures qui interfèrent...


je pense plutôt a des droits. Va voir du coté des droits d'executions des pages dans le service web.
Fo que je te laisse. @ demain  :hello:

n°267468
Leg9
Fire walk with me
Posté le 11-12-2002 à 18:05:07  profilanswer
 

snake-bis a écrit :


je pense plutôt a des droits. Va voir du coté des droits d'executions des pages dans le service web.
Fo que je te laisse. @ demain  :hello:  


Merci pour tout, je continue de chercher ;)


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267472
Leg9
Fire walk with me
Posté le 11-12-2002 à 18:09:26  profilanswer
 

Ok... pb cerné...
 
Il faut effectivemmnt faire le redirect dans le premier <% ... %>. :jap:
 
Là pb... le nb d'occurences que je récupère, il me faut saucissoner le code avnt. Bon, pb cerné, c'est déjà ça, merci. :hello:


---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°267534
snake-bis
Life's short, Behave
Posté le 11-12-2002 à 19:27:20  profilanswer
 

je comprends pas trop ce que tu me dis là  :sweat:  
je vois pas pk ca marche pas
t'as du nouveau ?


Message édité par snake-bis le 12-12-2002 à 11:24:43
n°280904
urd-sama
waste of space
Posté le 07-01-2003 à 11:17:49  profilanswer
 

il ne faut pas éviter de faire le response.redirect dans le body de la page html?
il me semble qu'on devait le faire dans le head ou meme avant, mais c'est à confirmer

n°281075
snake-bis
Life's short, Behave
Posté le 07-01-2003 à 14:26:06  profilanswer
 

Urd-sama a écrit :

il ne faut pas éviter de faire le response.redirect dans le body de la page html?
il me semble qu'on devait le faire dans le head ou meme avant, mais c'est à confirmer


ben en tout cas ca marche un peu partout. Par contre il faut bien s'assuré qu'il n'y a pas de recordset d'ouvert....

n°281152
deliriumtr​emens
sic transit intestinal...
Posté le 07-01-2003 à 15:59:39  profilanswer
 

Si je ne m'abuse, on peut faire des response.redirect n'importe où si serveur en W2K.
 
Par contre, sur NT, faut jouer du Buffer si on est pas dans l'en-tête.
 
C'est d'une clarté, je suis fier de moi :sweat:

n°281163
snake-bis
Life's short, Behave
Posté le 07-01-2003 à 16:09:30  profilanswer
 

DeliriumTremens a écrit :

Si je ne m'abuse, on peut faire des response.redirect n'importe où si serveur en W2K.
 
Par contre, sur NT, faut jouer du Buffer si on est pas dans l'en-tête.
 
C'est d'une clarté, je suis fier de moi :sweat:  


non non, C très clair  :sol: . Par contre même sous Win2k c'est fortement conseillé de mettre un "response.buffer = true"

n°281716
urd-sama
waste of space
Posté le 08-01-2003 à 08:24:44  profilanswer
 

pour moi aussi  :jap:  
faites comme si je n'avais rien dit alors

n°414939
Leg9
Fire walk with me
Posté le 03-06-2003 à 20:08:43  profilanswer
 

snake-bis a écrit :

je comprends pas trop ce que tu me dis là  :sweat:  
je vois pas pk ca marche pas
t'as du nouveau ?


Remontée d'outre tombe. :D
 
Oui je m'explique : mon code asp est saucissoné en plusieurs blocs <% ...du code asp ... %> [...du html...] <% ...encore du code asp... %> etc...
 
Si le response.redirect est fait ailleurs que dans le premier <%...%> ça ne fonctionne pas. :)


Message édité par Leg9 le 03-06-2003 à 20:08:58

---------------
If I could start again, a million miles away, I would keep myself, I would find a way... "Loreleï's dead ; Heaven is about to fuzz."
n°415022
MagicBuzz
Posté le 03-06-2003 à 20:53:12  profilanswer
 

Juste comme ça.
Le "response.buffer = true" ne veut pas du tout dire qu'il faut éxécuter le code tout de suite.
 
Ca sert uniquement à mettre en buffer la page, et l'envoyer d'un coup une fois compilée, au lieu de l'envoyer au fur et à mesure.
 
Avantages :
-> La page se charge d'un coup côté client
-> Ca économise la BP sur le serveur
 
Désavantages :
-> Si la page est longue à se compiler (grosse boucle avec beaucoup de traîtements par exemple), l'abscence de résultat côté client risque de provoquer une 404, ou simplement faire partir d'utilisateur.
-> Si les pages sont très volumineuses, tu bouffes de la RAM inutilement sur le serveur.
 
Le Response.Buffer = true est nécessaire dans le cadre d'un redirect, car sans lui, IIS commence à envoyer la page dès le départ, y compris les headers. Hors le redirect est un header, donc ça plantera si IIS a déjà envoyé les headers.
 
C'est aussi obligatoire si tu veux paramètrer manuellement les headers de la page, pour la même raison.
 
Dans le cadre d'une page volumineuse, tu peux faire régulièrement des Response.Flush dans le code, ce qui va forcer le buffer à être envoyé au client, évitant ainsi un timeout.


Message édité par MagicBuzz le 03-06-2003 à 20:53:24
n°415027
MagicBuzz
Posté le 03-06-2003 à 20:54:29  profilanswer
 

leg9 a écrit :


Remontée d'outre tombe. :D
 
Oui je m'explique : mon code asp est saucissoné en plusieurs blocs <% ...du code asp ... %> [...du html...] <% ...encore du code asp... %> etc...
 
Si le response.redirect est fait ailleurs que dans le premier <%...%> ça ne fonctionne pas. :)


 
Donc, après ce que je viens d'écrire : Response.Buffer = true DES LA PREMIERE LIGNE de ton script :)

n°415033
MagicBuzz
Posté le 03-06-2003 à 20:57:42  profilanswer
 

PS : ceci n'a rien à voir avec le ASP Cache et le IIS cache, qui servent, pour le premier, à conserver la version compilée de la page en mémoire afin d'avoir une compilation plus rapide (IIS 5 et plus) et le second à conserver une copie en mémoire des pages déjà éxécutées (le HTML généré) afin de ne pas ré-éxécuter les pages lorsque leur contenu ne change pas d'une fois sur l'autre.
 
Le second peut-être embêtant si une page est différente d'une fois sur l'autre alors que ses paramètres en entrée restent les mêmes (variables en request.form, request.querystring, request.cookie) et que le script n'a pas changé car dans certains cas, il ne détectera pas que d'une fois sur l'autre le contenu doit changer. Ceci s'applique deplus non seulement aux pages ASP, mais aussi aux fichiers HTML et les images.
 
ASP cache :
 
http://www.manga-torii.com/files/iis_asp_cache.png
 
IIS Cache :
 
http://www.manga-torii.com/files/iis_cache.png
 
Pour le second, certes, c'est un header, donc c'est normalement le proxy/firewall qui conserve une copie cachée, mais en plus, pour les navigateurs ne supportant pas le cache, ou sur lesquels c'est désactivé, une copie est conservée en mémoire sur le serveur.
C'est TRES risque de l'activer, et encore plus de mettre "expire immediately", car TOUT, y compris les images sera recherché depuis le disque à chaque accès (y compris si une image est présente deux fois de suite dans la même page !!!), le proxy et le firewall ayant pour instruction de ne pas conserver de copie en local. Ca va donc bouffer toute la BP en un rien de temps


Message édité par MagicBuzz le 03-06-2003 à 21:07:22
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  [ASP] Redirection coté serveur.

 

Sujets relatifs
Se connecter à une base d'un serveur Web ? -> RDS InsideServeur local impossible de passer des variable par url [résolu]
Serveur socket --> client socket !?[ASP] et XP (help je vais me faire hara-kiri)
[php html] pb avec les frames et une redirection[ASP] version imprimable
[HELP]Pour avoir la place restante sur partoche serveur dans Excelest-il possible d'enregistrer une page ASP ?
connecter a un serveur via une connexion RAS?[ASP] Need help ! Zarbi bleme avec Base de données
Plus de sujets relatifs à : [ASP] Redirection coté serveur.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR