博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
缓存类
阅读量:6801 次
发布时间:2019-06-26

本文共 2032 字,大约阅读时间需要 6 分钟。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MyBlog.Linq;
using System.Configuration;
using MyBlog.BLL;
 
namespace MyBlog.UI
{
    /// <summary>
    /// 缓存类
    /// </summary>
    public static class CacheData
    {
        /// <summary>
        /// 获取数据上下文,该属性可以保证每个请求仅生成一个数据上下文对象
        /// </summary>
        private static DBDataContext dc
        {
            get
            {
                if (HttpContext.Current.Items["dc"] == null)
                {
                    DBDataContext _dc = new DBDataContext(ConfigurationManager.ConnectionStrings["myblog"].ConnectionString);
                    HttpContext.Current.Items.Add("dc", _dc);
                }
                return (DBDataContext)HttpContext.Current.Items["dc"];
            }
        }
 
        /// <summary>
        /// 获取UserManager对象,该属性可以保证每个请求仅生成一个UserManager对象
        /// </summary>
        public static UserManager UM
        {
            get
            {
                if (HttpContext.Current.Items["UM"] == null)
                {
                    HttpContext.Current.Items.Add("UM", new UserManager(dc));
                }
                return (UserManager)HttpContext.Current.Items["UM"];
            }
        }
 
        /// <summary>
        /// 获取当前登录用户,若没有登录则为null,该属性可以保证每个请求仅生成一个BlogUser对象
        /// </summary>
        public static BlogUser LoginUser
        {
            get
            {
                if (HttpContext.Current.Items["U"] == null)
                {
                    string name = HttpContext.Current.User.Identity.Name;
                    if (string.IsNullOrEmpty(name))
                    {
                        HttpContext.Current.Items.Add("U", "-1");
                    }
                    else
                    {
                        int id = Convert.ToInt32(name);
                        HttpContext.Current.Items.Add("U",UM.GetUserByID(id));
                    }
                }
                if (HttpContext.Current.Items["U"] is BlogUser)
                {
                    return (BlogUser)HttpContext.Current.Items["U"];
                }
                else
                {
                    return null;
                }
            }
 
        }
 
        /// <summary>
        /// 获取TypeManager对象,该属性可以保证每个请求仅生成一个TypeManager对象
        /// </summary>
        public static TypeManager TM
        {
            get
            {
                if (HttpContext.Current.Items["TM"] == null)
                {
                    HttpContext.Current.Items.Add("TM", new TypeManager(dc));
                }
                return (TypeManager)HttpContext.Current.Items["TM"];
            }
        }
 
        /// <summary>
        /// 获取ArticlManager对象,该属性可以保证每个请求仅生成一个ArticlManager对象
        /// </summary>
        public static ArticlManager AM
        {
            get
            {
                if (HttpContext.Current.Items["AM"] == null)
                {
                    HttpContext.Current.Items.Add("AM", new ArticlManager(dc));
                }
                return (ArticlManager)HttpContext.Current.Items["AM"];
            }
 
        }
    }
}

转载于:https://www.cnblogs.com/superMay/p/4097442.html

你可能感兴趣的文章
git命令笔记
查看>>
eclipse下修改项目名导致tomcat内发布名不一致的解决方法
查看>>
我的友情链接
查看>>
《第一行代码》1day~了解全貌
查看>>
复习javaIO 之File类
查看>>
【规划】近期的规划
查看>>
How to install snmpwalk snmpget on CentOS 6.4 6.3 5.9 Redhat RHEL Fedora
查看>>
最小生成树
查看>>
Mybatis中配置Mapper的方法
查看>>
Java基础学习总结(19)——Java环境变量配置
查看>>
Mvc5+Entity Framework6 之二----在MVC中用Entity Framework实现基本的CRUD
查看>>
我的友情链接
查看>>
大型网站技术架构(四)网站的高性能架构
查看>>
linux系统修改SSH最大连接数,修改nofile,nproc参数方法
查看>>
Hadoop-2.5.2集群安装配置详解
查看>>
解决报表网页版转成excel时,首位0被清除的问题
查看>>
Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
查看>>
MyBatis学习总结(8)——Mybatis3.x与Spring4.x整合
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解...
查看>>
IIS 7.0 和 IIS 7.5 中的 HTTP 状态代码
查看>>