Получить объект сеанса из идентификатора сеанса в ASP.Net

Есть ли способ получить объект сеанса из sessionID?

У меня есть небольшой проект, использующий загрузку Flash, чтобы пользователь мог загрузить свой файл на сервер, но проблема в том, что Flash имеет некоторую ошибку при отправке сеанса и файла cookie (в Firefox или Chrome, но не в IE), поэтому я нашел решение этой проблемы: отправить sessionID через Flash на сервер, а на сервере декодировать sessionID обратно в объект сеанса, но я не знаю, как это сделать. Я использую ASP.NET и С#.

Может ли кто-нибудь посоветовать мне, что делать?


person Hieu Nguyen Trung    schedule 05.11.2010    source источник


Ответы (1)


Ссылка, предложенная 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);
    }
}
person sboisse    schedule 04.10.2012