2010-11-05 22 views
5

sessionID'dan bir oturum nesnesi almak için var mı?Oturum nesnesini ASP oturumunda oturum kimliğini alın

Kullanıcının dosyayı sunucuya yüklemesine izin vermek için Flash yüklemesi kullanan küçük bir projem var, ancak sorun, oturumu ve çerezi gönderirken Flash'ın hata yapmasıdır (Firefox veya Chrome'da, ancak IE'de değil), Bu nedenle, bu sorunu gidermek için bir çözüm buldum: sessionID'u Flash'a sunucuya ve sunucuya göndererek, sessionID'u oturum nesnesine geri çöz, ancak bunu nasıl yapacağımı bilmiyorum. ASP.NET ve C# kullanıyorum.

Birisi bana ne yapmam konusunda tavsiyede bulunabilir mi?

cevap

4

Moo-Juice tarafından önerilen bağlantı artık çalışmıyor.

http://snipplr.com/view/15180/

Bir cazibe gibi çalıştı:

bu sayfada verilen kodu kullanılır.

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

bağlantı bozuk olacak olursa

, burada kodudur
İlgili konular