• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ashx中使用session的方法(获取session值)

    WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如:

    复制代码 代码如下:

    HttpRequest _request = context.Request;

    HttpResponse _response = context.Response;

    但是要得到 Session的值就没有那么简单了。

    比如如果要在ashx得到保存在Session中的登录用户信息 Session["LoginUser"]

    如果仅仅使用 context.Session["LoginUser"] 的话,是会报 “未将对象引用设置到对象的实例”的异常!

    具体要使用下列方法:

    复制代码 代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.SessionState;

    namespace DtlCalendar.Mobile.Site.Manage
    {
        /// summary>
        /// DelApk 的摘要说明
        /// /summary>
        public class DelApk : IHttpHandler, IReadOnlySessionState
        {
            // IReadOnlySessionState :只读访问Session
            // IRequiresSessionState :读写访问Session
            public void ProcessRequest(HttpContext context)
            {
                string strID = context.Request["id"];
                context.Response.Clear();
                context.Response.ContentType = "text/plain";
                int id;
                string user;
                if (int.TryParse(strID, out id) IsLoged(context, out user))
                {
                    string reslt = DataProvider.MobileDataProvider.CreateInstance().DelMApk(id).ToString();
                    BLL.LogOprHelper.Instance.InsertMLog(user, BLL.LogOpr.Delete, "DelApk result:" + reslt);
                    context.Response.Write(reslt);
                }
                else
                {
                    BLL.LogOprHelper.Instance.InsertMLog(strID, BLL.LogOpr.Delete, "DelApk result:-1");
                    context.Response.Write("-1");
                }
            }

            private bool IsLoged(HttpContext context, out string user)
            {
                BLL.User _User;
                if (context.Session["LoginUser"] != null)
                {
                    _User = context.Session["LoginUser"] as BLL.User;
                    if (_User != null)
                    {
                        user = _User.Account;
                        return true;
                    }
                }
                user = string.Empty;
                return false;
            }

            public bool IsReusable
            {
                get
                {
                    return true;
                }
            }
        }
    }

    您可能感兴趣的文章:
    • ASP.NET ASHX中获得Session的方法
    • Asp.net在ashx文件中处理Session问题解决方法
    • 在ashx文件中使用session的解决思路
    • ashx介绍以及ashx文件与aspx文件之间的区别
    • ashx文件的使用小结
    • aspx与ascx,ashx的用法总结
    • 后缀为 ashx 与 axd 的文件区别浅析
    • 基于.NET中:自动将请求参数绑定到ASPX、ASHX和MVC的方法(菜鸟必看)
    • *.ashx文件不能访问Session值的解决方法
    上一篇:asp.net页面防止重复提交示例分享
    下一篇:asp.net用Zxing库实现条形码输出的具体实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ashx中使用session的方法(获取session值) ashx,中,使用,session,的,方法,