我正在做一个非常奇怪的技巧,在跨域的php页面中使用asp.net。我有很多问题,但我总是解决了所有问题。现在是最后一个问题:
我需要阅读仅具有SessionID的asp.net会话数据。
我已经尝试过swfupload的作者建议:http://web.archive.org/web/20120415034411/http://swfupload.org/forum/generaldiscussion/98
那会减少:
Dim cookie As HttpCookie = HttpContext.Current.Request.Cookies.Get("ASP.NET_SessionId")
cookie.Value = "mySessionID"
HttpContext.Current.Request.Cookies.Set(cookie)
但如果我在此之后检查Session.SessionID,我仍然得到旧的会话值。 I Read我应该使用“Response”在客户端设置cookie,但即使这样也不行:
Response.Cookies("ASP.NET_SessionId").Value = "mySessionID"
此后仍然有相同的SessionID。
SessionID是只读的,我无法使用正常的Session.SessionID =“myid”覆盖它。
我试过(并且失败了),即使这样:
Dim ctx = HttpContext.Current
ctx.Response.Cookies.Remove("ASP.NET_SessionId")
ctx.Response.Cookies.Add(New HttpCookie("ASP.NET_SessionId", "mySessionID"))
我该怎么做?
修改:我添加了另一个失败测试
Dim a, b As Boolean
Dim SM As New SessionIDManager
SM.InitializeRequest(HttpContext.Current, False, True)
SM.RemoveSessionID(HttpContext.Current)
SM.SaveSessionID(HttpContext.Current, "mySessionID", a, b)