2010-06-23 7 views
0

J'ai fait quelques demandes de WebRequest et obtenu des réponses à un site et j'ai affiché des données avec succès pour 3 pages. Maintenant, la dernière page est une page de confirmation et je dois faire en sorte que l'utilisateur clique sur le bouton de confirmation. Mais quand j'écrire le contenu de la réponse au navigateur comme cette page webEnvoyer WebResponse au navigateur et faire en sorte que l'utilisateur continue à utiliser le site Web

response = request.GetResponse() as HttpWebResponse; 
dataStream = response.GetResponseStream(); 
reader = new StreamReader(dataStream); 

responseFromServer = reader.ReadToEnd(); 
responseFromServer = responseFromServer.Replace(@"=""/", @"=""http://website.com/"); 
Page.Response.Write(responseFromServer); 

redirige vers la page de fermeture de session après que l'utilisateur a cliqué sur le bouton, parce que le navigateur ne possède pas les cookies et les variables de session. Ce que j'ai fait ci-dessus était juste en train d'écrire html sur une page. Je pensais, peut-être HttpContext.Current ou WebClient classes peuvent être utiles, mais n'a pas pu le comprendre.

Comment puis-je rendre le navigateur pour continuer cette session? comment puis-je passer les variables de session et le cache de la réponse au navigateur?

Toute aide sera appréciée ..

Sinan

+0

Euh ... Je suppose que c'est ASP.net mais ce que vous faites là-bas semble vraiment weired. Je doute que ce soit la bonne façon. Pourriez-vous fournir plus de détails sur ce que vous aimeriez accomplir? – Juri

+0

Etes-vous en train d'essayer d'authentifier le navigateur sur l'autre serveur/site web? – CodingGorilla

Répondre

0

Si je comprends votre scénario, vous écrivez une page ASP.NET qui, à son tour authentifie avec un autre site pour le compte d'un utilisateur de votre page. Lorsque cette page asp.net reçoit une requête de l'utilisateur, elle envoie à son tour une ou deux requêtes/réponses au serveur web principal. À un moment donné, vous voulez terminer la transaction sur le serveur principal en obtenant d'abord la confirmation de l'utilisateur de votre page. Donc, ce qui se passe, c'est que l'état de la session est perdu lorsque la demande de confirmation arrive. Ce que vous devez faire est d'associer l'utilisateur à une session et stocker vos cookies backend (qui ont été définis dans le CookieContainer) dans la session de l'utilisateur. S'il n'y a qu'un seul serveur Web qui s'occupe de l'utilisateur, vous pouvez probablement le stocker dans un hashtable/dictionnaire statique.

espérons que cela aide.

0

Je faisais une demande à un site Web. Lorsque les réponses du site Web, j'essayais d'écrire le contenu de la réponse à la page. J'espérais que l'utilisateur pourrait continuer à surfer sur ce site mais maintenant je me rends compte que c'est impossible pour des raisons de sécurité. Je ne peux pas définir l'identifiant de session (cookie de session) pour un autre domaine. J'ai essayé d'ajouter un cookie jsessionid par javascript mais l'accès est refusé ..

Questions connexes