无论如何从sessionID获取会话对象?
我有一个使用Flash上传的小项目让用户将他们的文件上传到服务器,但问题是Flash在发送会话和cookie时有一些错误(在Firefox或Chrome中,但不是IE),所以我发现了解决方案来解决这个问题:通过Flash将sessionID发送到服务器,并在服务器上将sessionID解码回会话对象,但我不知道怎么做.我正在使用ASP.NET和C#.
任何人都可以告诉我该怎么做?
解决方法
Moo-Juice提出的链接不再有效.
我使用了本页提供的代码:
http://snipplr.com/view/15180/
它就像一个魅力.
如果链接断开,这里是代码:
void Application_BeginRequest(object sender,EventArgs e) { try { string session_param_name = "ASPSESSID"; string session_cookie_name = "ASP.NET_SESSIONID"; string session_value = Request.Form[session_param_name] ?? Request.QueryString[session_param_name]; if (session_value != null) { UpdateCookie(session_cookie_name,session_value); } } catch (Exception) { } try { string auth_param_name = "AUTHID"; string auth_cookie_name = FormsAuthentication.FormsCookieName; string auth_value = Request.Form[auth_param_name] ?? Request.QueryString[auth_param_name]; if (auth_value != null) { UpdateCookie(auth_cookie_name,auth_value); } } catch (Exception) { } } void UpdateCookie(string cookie_name,string cookie_value) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(cookie_name); if (cookie == null) { HttpCookie cookie1 = new HttpCookie(cookie_name,cookie_value); Response.Cookies.Add(cookie1); } else { cookie.Value = cookie_value; HttpContext.Current.Request.Cookies.Set(cookie); } }