0

我做了一些 WebRequest 并获得了对网站的响应,并成功发布了 3 页的数据。现在最后一页是确认页面,我需要让用户点击确认按钮。但是当我像这样将响应内容写入浏览器时

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);

用户单击按钮后,网页重定向到注销页面,因为浏览器没有 cookie 和会话变量。我上面所做的只是将 html 写入页面。我想,也许HttpContext.CurrentWebClient类可能有用,但无法弄清楚。

我怎样才能让浏览器继续这个会话?如何将会话变量和缓存从响应传递到浏览器?

任何帮助将不胜感激..

思南

4

2 回答 2

0

如果我了解您的情况,您正在编写一个 ASP.NET 页面,该页面反过来代表您页面的用户向另一个网站进行身份验证。当这个 asp.net 页面收到用户的请求时,它会依次向后端 Web 服务器发送几个请求/响应。在某些时候,您希望通过首先获得页面用户的确认来完成与后端服务器的交易。

因此,当确认请求进入时,会话状态正在丢失。您应该做的是将用户与会话相关联,并将您的后端 cookie(在 CookieContainer 中设置)存储在用户的会话中。如果只有一个网络服务器为用户提供服务,您可以将其存储在静态哈希表/字典中。

希望有帮助。

于 2010-06-24T21:39:14.810 回答
0

我正在向一个网站提出请求。当网站响应时,我试图将响应内容写入页面。我希望用户可以继续浏览该网站,但现在我意识到由于安全原因这是不可能的。我无法为另一个域设置会话 ID(会话 cookie)。我试图通过 javascript 添加一个 jsessionid cookie,但访问被拒绝..

于 2010-06-25T12:27:17.090 回答