当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-08-25

    本文导语:  WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如: 代码如下:HttpRequest _request = context.Request; HttpResponse _response = context.Response; 但是要得到 Session的值就没有那么简单了。 比如如果要在ashx得到保存在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
{
    ///
    /// DelApk 的摘要说明
    ///
    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中数据的代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • asp.net中的*.ashx类型的文件使用方法简单
  • asp.net使用ashx实现图片防盗链的方法
  • ashx介绍以及ashx文件与aspx文件之间的区别
  • jquery访问ashx文件示例代码
  • 有关ashx文件使用介绍
  • ashx文件的使用小结
  • html+ashx 表单提交示例
  • jquery ajax,ashx,json的用法总结
  • aspx与ascx,ashx的用法总结
  • jQuery dialog 异步调用数据(webserivce或ashx)的实现代码


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3