缓存通用管理类 + 缓存 HttpContext.Current.Cache 和 HttpRuntime.Cache 的区别

  以前写asp.net时用HttpContext.Current.Cache存缓存很好用,今天写了一个windows服务程序,HttpContext.Current.Cache存缓存的时候还好,取的时候一直报错“未将对象引用到实例”很郁闷,查询了一下资料才明白引用程序缓存要用HttpRuntime.Cache...

  我们先看MSDN上的解释:

        HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。
        HttpRuntime.Cache:获取当前应用程序的Cache。

附带的写了一个操作缓存的通用类,在应用程序中使用,如果要在asp.net中有,只需把HttpRuntime.Cache改为HttpContext.Current.Cache即可,代码如下:

 

代码
using System;

/// <summary>
/// author:Stone_W
/// date:2010.12.1
/// desc:缓存的管理类
/// 注意:要添加对引用 System.Web
/// </summary>
public class MyCacheTools : System.Web.SessionState.IRequiresSessionState
{
#region 存入Cache
/// <summary>
/// 存入Cache
/// </summary>
/// <param name="key">缓存key</param>
/// <param name="value">缓存的值</param>
/// <param name="time_HH">存xx小时</param>
/// <returns>是否执行成功[bool]</returns>
public static bool SetCache(string key, object value, int time_HH)
{
bool result = false;
try
{
DateTime dt
= DateTime.Now.AddHours(time_HH);
System.Web.HttpRuntime.Cache.Insert(key, value,
null,
dt, System.Web.Caching.Cache.NoSlidingExpiration);
result
= true;
}
catch (Exception ex) { }
return result;
}
#endregion

#region 取得Cache
/// <summary>
/// 取得Cache
/// </summary>
/// <param name="key">key</param>
/// <returns>object类型</returns>
public static object GetCache(string key)
{
return System.Web.HttpRuntime.Cache.Get(key);
}
#endregion

#region 查询Cache是否存在
/// <summary>
/// 查询Cache是否存在
/// </summary>
/// <param name="key">key 值</param>
/// <returns>bool</returns>
public static bool IsCacheExist(string key)
{
bool result = false;

object temp = System.Web.HttpRuntime.Cache.Get(key);
if (null != temp)
{
result
= true;
}
return result;
}
#endregion

}

 

 

ps:HttpContext.Current.Cache 为null 这个问题搞的我很痛苦,最后还是解决了,希望此篇文章对大家有用!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 加速安装Opencv 3.4.3

Ubuntu 18.04 完美安装Opencv 3.4.3 1.1 下载Opencv 3.4.3 在http://opencv.org/网址中找到下载连接&#xff0c;版本选择&#xff1a;https://github.com/opencv/opencv/releases 下载地址&#xff1a;https://github.com/Itseez/opencv/archive/3.4.3.zip (此处可以使用w…

Net和T-sql中的日期函数操作

net中的日期函数代码&#xff1a; 代码 1 DateTime now DateTime.Now; 2 // 当前月的第一天 3 DateTime d1 new DateTime(now.Year, now.Month, 1); 4 // 当前月的最后一天 5 DateTime d2 d1.AddMonths(1).AddDays(-1); 6 if (now.Day d2.Day) 7 { 8 // 当日是当月最后…

kiwiboard 购买记录小结

2019独角兽企业重金招聘Python工程师标准>>> 后悔啊&#xff0c;买前没有做过调研&#xff0c;脑子一热就买了个全套的&#xff0c;现在后悔来不及啦&#xff0c;肠子都青掉了。。。 说说体会吧&#xff1a; 1. 配件很少&#xff0c;没有uart线&#xff0c;也没有…

xml文件转换成图片_怎样能把PDF文件转换成图片?

我们的日常生活工作中时常碰到pdf与Excel、Word、ppt和jpg等文件格式的转换&#xff0c;有时候由于工作的需要&#xff0c;要把PDF文件转换成图片。并且现在网上的很多素材都是PDF文件格式的&#xff0c;如果我们想要里面的图片就变得很难办了。采取截图的方式得到的图片很模糊…

vmware安装渗透系统 Linux Kail最新版

https://mirror-1.truenetwork.ru/kali-images/kali-2020.3/kali-linux-2020.3-installer-amd64.iso Kali Linux安装的磁盘空间的最小值是8GB。为了便于使用&#xff0c;这里推荐至少25GB去保存附加程序和文件。内存最好为512MB以上。Kali Linux的下载地址http://www.kali.org/…

Thread线程的深刻理解和代理方法参数[有图有真相]

在这说的是Thread的基本用法&#xff0c;线程池ThreadPool在这就不说的&#xff0c;以前的blog有写&#xff0c;基本上两个用法都是相同的。基本用法和图&#xff0c;不需要的大鸟请绕行&#xff0c;谢谢&#xff01; 目录&#xff1a; 1.Thread基本用法与异步线程理解。 2.线…

linux ubuntu 编写c/c++ 获取命令行传入参数示例

linux ubuntu 编写c/c 获取命令行传入参数示例 g test.cpp -o test ./test -d video.jpg test.cpp 代码如下 #include <iostream> #include <unistd.h>using namespace std;int main(int argc, char* argv[]) {//参数变量初始化string db_path;int ch;opterr …

python执行系统命令后获取返回值的几种方式

import commands output commands.getstatusoutput(ps -aux) print output更多资讯或疑问内容请关注 微信公众号 “让梦飞起来” 或添加小编微信&#xff0c; 后台回复 “Python” &#xff0c;领取更多资料哦

一些好用的开源控件

工作两年&#xff0c;一直都在做些编码方面的表面功夫&#xff0c;实现了很多很炫的功能&#xff0c;在此写下一些体验。有些比较小的dll文件我会发上来&#xff0c;如果是开源组织的代码我会把地址附上&#xff0c;毕竟人家是会更新的。大家还有什么好用的开源控件欢迎补充。 …

python3爬取百度图片

python3爬取百度图片 最终目的&#xff1a;能通过输入关键字进行搜索&#xff0c;爬取相应的图片存储到本地或者数据库 首先打开百度图片的网站&#xff0c;搜索任意一个关键字&#xff0c;比如说&#xff1a;水果&#xff0c;得到如下的界面 分析&#xff1a; 1、百度图片搜…

Windows Phone 7 LongListSelector控件实现分类列表和字母索引

在wp7手机里面的联系人列表和程序里面里面我们可以看到一个根据字母索引来定位联系人或者应用程序的控件&#xff0c;那么这个控件就是LongListSelector控件了。 LongListSelector是一种比ListBox更加强大的列表控件&#xff0c;你可以根据你列表的信息来分类排列&#xff0c;根…

c# 获取电脑硬件信息通用查询类[测试通过]

C#获取电脑硬件信息通用类[Computer]代码展示和分析&#xff0c;简介如下&#xff1a; 1.项目中添加System.Management引用。 2.添加类Computer&#xff0c;把下面代码全选&#xff0c;复制&#xff0c;粘贴。 3.使用方法new Computer().GetComputerName()。 代码 usingSyst…

基于ssm北关村基本办公管理系统的设计与实现论文

摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对北关村基本办公信息管理的提升&…

C# 操作线程的通用类[测试通过]

进程管理就是对服务器性能的管理和协调&#xff0c;在程序的运行角度来看非常重要&#xff0c;也可以根据操作进程的手段&#xff0c;衍生很多实用和智能的功能&#xff0c;以下就是介绍一个自己写的进程通用操作类&#xff0c;功能如下&#xff1a; 1.把ProcessUtility类直接…

宽字符编码和解码通用类[CodeWidthChartUtility]

在做jsonp传递的时候遇到一个问题&#xff0c;当有特殊字符或中文的时候就会导致数据错误或者是乱码&#xff0c;刚开始有js的编码和解码和正则&#xff0c;都比较麻烦&#xff0c;现在找到了一种合适的解决方案&#xff0c;宽字符编码&#xff0c;js端会自动解析&#xff0c;能…

Ubuntu16.04下安装cuda和cudnn的三种方法(亲测全部有效)

目录 1.cuda的安装 1.1 最简单的方法——分开安装驱动和cuda 1.2 更万能的方法——同时安装驱动和cuda 1.3 终极杀手锏 2.cudnn的安装 安装之前首先要确认你需要安装的cuda和cudnn的版本&#xff0c;假如你后续还需要安装tensorflow的话&#xff0c;请看我的另外一篇博客&am…

python做ui自动化_python+selenium做ui自动化测试用法必会

一、前言大家都知道&#xff0c;基于Web端的测试的基础框架是需要Selenium做主要支撑的&#xff0c;这里边给大家介绍下Web测试核心之基于 Python 的 SeleniumSelenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用…

c# 操作IIS应用程序池

直接代码&#xff1a; 代码 usingSystem.DirectoryServices; //添加引用 System.DirectoryServicestry{ DirectoryEntry appPool newDirectoryEntry("IIS://localhost/W3SVC/AppPools"); DirectoryEntry findPool appPool.Children.Find("DefaultAppPool&…

Android获取手机和系统版本等信息的代码

2019独角兽企业重金招聘Python工程师标准>>> String phoneInfo "Product: " android.os.Build.PRODUCT; phoneInfo ", CPU_ABI: " android.os.Build.CPU_ABI; phoneInfo ", TAGS: " android.os.Build.TAGS; phoneInfo &…

用hyperledger cello H3C分支创建单机模式区块链系统

本文介绍用hyperledger cello的0.9.0-h3c分支创建一套区块链系统的完整流程&#xff0c;希望对读者有所帮助。 环境准备工作&#xff1a;需要准备一台装有ubuntu 16.04的主机&#xff0c;内存需要大一些&#xff0c;建议8G以上。安装docker-ce和docker-compose。 接下来&…