C# Datatable 缓存

问题描述

A页面在Page_Load获取datatable后,放入缓存HttpContext.Current.Cache.Insert("key",dt);为什么在另一个B.cs文件中取不到datatable缓存?B.cs:DataTabledt=(DataTable)HttpContext.Current.Cache["key"];为什么dt为null?

解决方案

解决方案二:
页面?HTTP不是无状态协议不会保持数据的,可以又文件进行缓存啊。
解决方案三:
B在访问的时候,A还没有放入
解决方案四:
A页面是aspx文件,B是类文件
解决方案五:
你使用的是System.Web.HttpContext.Current.Cache,是存放在当前上下文对象中,表示“为当前HTTP请求获取Cache对象”,而你在另外一个页面去取Cache,并不是当前请求了,所以取不到。你应该使用HttpRuntime.Cache
解决方案六:
net4.0推荐用System.Runtime.CachingMemoryCache.Default自己搜索一下用法
解决方案七:
Insert的时候,dt是否为null?
解决方案八:
干脆直接用静态变量好了如果这个是全局的话
解决方案九:
多说一点,用缓存之前必须要了解存储的对象一定是可序列化的

时间: 2024-11-10 05:33:19

C# Datatable 缓存的相关文章

asp.net的DataTable 缓存类。

asp.net|缓存 using System;using System.Web;using System.Data; namespace sc{ /// <summary> //**************************************/ // 说明:DateTable的缓存类. // 属性:name:缓存的名称.只写 // 属性:Values:缓存的值 读写 // 方法:CheckCache():检查是否有缓存.返回bool // 方法:MakeCacheEmpty():

新手请教数据缓存问题

问题描述 一个查询页面的结果DataTable,数据量最多时候大概几万行.我想用Cache缓存,但是想想如果有多个用户同时在使用这样会出问题的吧.比如用户A查询了一次,给这个DataTable缓存:Cache.Insert("dt",dt,...),这时服务器已经存在缓存dt了.用户B随后又查询了一次又更新了缓存.此时,用户A页面有个"导出数据"按钮,是用Cache["dt"]当数据源的,此时会出错吗.如果错了该用什么效率会高点呢,google了

ASP.NET页面缓存常见的4种方式_实用技巧

本文为大家分享了4种常见的ASP.NET页面缓存方式,供大家参考,具体内容如下 1.分布式缓存Memcached,教程下载 2.内存缓存,此占用服务器资源 #region 内存缓存 public class MemoryCache { #region 写 /// <summary> /// 向内存写入数据缓存 /// </summary> /// <remarks>TOMMYHU2011-7-28 10:25创建</remarks> /// <para

ADO.NET 2.0 中的新增 DataSet 功能

ADO.NET 2.0 中的新增 DataSet 功能 发布日期: 1/13/2005 | 更新日期: 1/13/2005 Jackie Goldstein Renaissance Computer Systems 适用于: Microsoft ADO.NET 2.0 Visual Basic 编程语言 摘要:了解有关 .NET Framework DataSet 类以及与它密切相关的类中的新增 ADO.NET 2.0 功能的知识.这些更改包括对 DataSet.DataTable 和 Data

利用Cache缓存数据DataTable数据提高大数据量访问性能

cache|访问|缓存|数据|性能 引言:在数据量不大的情况下,程序怎么写基本上性能差别不大,但是当我们面对数以万计的数据的时候,我想性能就是个不得不考虑的问题了,每写一个方法,每填充一笔数据都要考虑到性能问题,否则服务器将承担巨大的执行开销,如果服务器性能不好可能立即就死在那里了,所以在大数据量频繁访问的页面上,我们就必须考虑如何提高页面的性能了,本文将提供一种用cache提高访问性能的方法来解决此问题,在很大程度上提高页面加载数据的性能.本文列举的是论坛版块中帖子列表页面加载数据的实例.正文

jquery-Jquery的DataTable可以从缓存里面绑定数据吗?

问题描述 Jquery的DataTable可以从缓存里面绑定数据吗? that.WarrantyStatusEditCtrl = function($scope, $compile, $routeParams, $location, $log, apiService, columns, cacheService, commonUtils, DT_OPTION, WARRANTY_HEADER, $rootScope) { $scope.header = WARRANTY_HEADER.STATU

在 ASP.NET 中支持数据库缓存相关性

asp.net|缓存|数据|数据库 开发人员都喜欢 ASP.NET 应用程序缓存. 一个原因是 ASP.NET 能够在放入缓存中的项与文件系统中的文件之间创建相关性. 如果相关性所针对的文件更改,ASP.NET 会自动将相关项从缓存中删除. 通过与缓存删除回叫(当缓存项删除时向所有关注方广播通知)结合,缓存相关性为开发人员提供了方便,使他们得以通过尽量减少耗时的文件访问来最大限度地提高性能,因为这使他们可以放心地允许文件数据缓存,而不必担心数据变得陈旧. 尽管缓存相关性非常实用,但是在 ASP.

用ASP.NET缓存提高站点性能

asp.net|缓存|性能|站点 [简介] ASP.NET提供三种主要形式的缓存:页面级输出缓存.用户控件级输出缓存(或称为片段缓存)和缓存API.输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了.而缓存API则提供了额外的灵活性(实际上是相当大的灵活性),可用于在应用程序的每一层利用缓存.本文全面介绍了这三种缓存技术在系统各层中的应用. 在ASP.NET提供的许多特性中,缓存支持无疑是我最欣赏的特性,我这样说当然是有充分理由的.相比ASP.NET的所有其他特性,缓

ASP.NET缓存:方法和最佳实践

asp.net|缓存 [简 介] 在 ASP.NET 提供的许多特性中,缓存支持无疑是我最欣赏的特性,我这样说当然是有充分理由的.相比 ASP.NET 的所有其他特性,缓存对应用程序的性能具有最大的潜在影响,利用缓存和其他机制,ASP.NET 开发人员可以接受使用开销很大的控件(例如,DataGrid)构建站点时的额外开销,而不必担心性能会受到太大的影响.为了在应用程序中最大程度地利用缓存,您应该考虑在所有程序级别上都实现缓存的方法. 实现 要实现页面输出缓存,只要将一条 OutputCache