1

我正在从 Page1 到 Page2 发出 WebRequest。Page2 处理信息并发送 URL 链接 (http://xyz/abc/Page3.aspx) 以响应 Page1。

Page2 和 Page3 属于同一个解决方案并共享会话变量。

在 Page1 中,一旦收到响应。它选择 page2 发送的 URL 并尝试访问它。但不幸的是,第 3 页中的会话丢失了。我期待存储在 Page2 中的会话变量可以在 Page3 中访问。

在 Page1 中: WebRequest 请求 = WebRequest.Create("page2");
...
request.GetResponse();
...
字符串 urlStr=getURL();
//这个url有链接到
Page3 Response.Redirect(urlStr);

在第 2 页: Session["guid"]="stackoverflow";
...
Context.Response.Write(xmlString);
Context.Response.End();

在第 3 页中: //这里是我丢失了会话值
String temp= Convert.ToString(Session["guid"]);

更新:
第 1 页中的解决方案: request.CookieContainer = new CookieContainer();
..
System.Net.WebResponse 响应 = request.GetResponse();
CookieCollection respCookieCollection= ((HttpWebResponse)response).Cookies;

...
//使用从先前响应中获得的 cookie 创建新请求以导航到 Page3。HttpWebRequest request2 = (HttpWebRequest)HttpWebRequest.Create(url); request2.Method = WebRequestMethods.Http.Post;request2.CookieContainer = new CookieContainer(); request2.CookieContainer.Add(respCookieCollection);
.... System.Net.WebResponse response2 = request2.GetResponse(); System.IO.StreamReader reader2 = new System.IO.StreamReader(response2.GetResponseStream()); 字符串 str2 = reader2.ReadToEnd(); Response.Write(str2);

4

0 回答 0