阅读背景:

JQuery文件上传插件uploadify在MVC中Session丢失的解决方案

来源:互联网 
 

<script type="text/javascript">

    var auth = "@(Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value)";

    var ASPSESSID = "@Session.SessionID";

    $(function () {

        $("#file_upload").uploadify({

            swf: '/Scripts/uploadify/uploadify.swf',

            uploader: '/Project/File/FileUpload',

            formData: { ASPSESSID: ASPSESSID, AUTHID: auth },

            auto: true,

            …

     });

注意:上面灰底代码很重要!

将下面代码放入Global.asax

protected void Application_BeginRequest(object sender, EventArgs e)

        {

            try

            {

                string session_param_name = "ASPSESSID";

                string session_cookie_name = "ASP.NET_SessionId";

 

                if (HttpContext.Current.Request.Form[session_param_name] != null)

                {

                    UpdateCookie(session_cookie_name, HttpContext.Current.Request.Form[session_param_name]);

                }

                else if (HttpContext.Current.Request.QueryString[session_param_name] != null)

                {

                    UpdateCookie(session_cookie_name, HttpContext.Current.Request.QueryString[session_param_name]);

                }

            }

            catch

            {

            }

 

            try

            {

                string auth_param_name = "AUTHID";

                string auth_cookie_name = FormsAuthentication.FormsCookieName;

 

                if (HttpContext.Current.Request.Form[auth_param_name] != null)

                {

                    UpdateCookie(auth_cookie_name, HttpContext.Current.Request.Form[auth_param_name]);

                }

                else if (HttpContext.Current.Request.QueryString[auth_param_name] != null)

                {

                    UpdateCookie(auth_cookie_name, HttpContext.Current.Request.QueryString[auth_param_name]);

                }

 

            }

            catch

            {

            }

        }

 

        private void UpdateCookie(string cookie_name, string cookie_value)

        {

            HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(cookie_name);

            if (null == cookie)

            {

                cookie = new HttpCookie(cookie_name);

            }

            cookie.Value = cookie_value;

            HttpContext.Current.Request.Cookies.Set(cookie);

        }

 
 

<script type="text/javascript">

    var



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: