• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > asp.net中C#实现手动回收内存的方法

asp.net中C#实现手动回收内存的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了c asp.net,思胜 asp.net c培训,c asp.net实例,c asp.net教程,c asp.net 入门等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C#有自动回收内存的机制,但是有时自动回收有一定滞后,需要在变量使用后迅速回收,节约内存,这里介绍一个最简单的方法。

1.先对对象赋值 null;

2.使用System.GC.Collect()
{
         static void Main(string[] args)
         {
             long lenth = 1024 * 1024 * 128;
 
             GetCost("程序启动");
 
             double[] data = new double[lenth];
             for (int i = 0; i < lenth; i++)
             {
                 data[i] = double.MaxValue;
             }
             GetCost("数据制造完成");
 
             data = null;
             GetCost("data = null");
 
             System.GC.Collect();
             GetCost("System.GC.Collect()");
 
             Console.ReadKey();
         }
 
         /// <summary>
         /// 显示内存使用的状态
         /// </summary>
         /// <param name="state"></param>
         static void GetCost(string state)
         {
             Console.Write("当前状态:" + state + ";  占用内存:");
             using (var p1 = new PerformanceCounter("Process", "Working Set - Private", "GCtest.vshost"))
             {
                 Console.WriteLine( (p1.NextValue()/1024/1024).ToString("0.0")+"MB");
             }
         }
}</div>
不手动回收时,系统会等到程序执行结束时回收。在使用data=null后表示该数据已经不再使用,System.GC.Collect();通知系统立即进行一次回收操作,根据C#的内存管理原则,不再使用的变量被回

其实的一些方法总结

访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。   连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。用(推荐)
SqlConnection Conn=new SqlConnection(connstr))
{
}
//不必显示关闭或
try{
conn.Open();}catch{}finally{conn.Close();
}</div>

还有一些网友说建议使用缓存技术,
这样既可以减缓网站的压力,又能定时回收部分内存资源

数据缓存数据缓存是一种强大而又非常简单的缓存机制,它可以在缓存区中为每个应用程序保存各种对象,这些对象可以根据http的请求被调用,但是在各个不同的应用程序中这些对象都是私有的。数据缓存是通过Cache类来实现的。当应用程序建立时,一个Cache类就同时被建立,缓存实例的生存周期就是应用程序的生存周期,它会随着应用程序的重新运行而重建,通过Cache类的方法,我们可以将数据对象放入缓存区,然后通过关键字匹配寻找并使用这些对象。Cache类通过一个借口来控制所有需要缓存的内容,包括规定缓存的时间和缓存方式.

可以通过如下方法添加缓存对象:Cache["关键字"] = 关键字的取值;然后通过下面的方法来访问这个对象:
if(Cache["关键字"] != null)
{
mKeyValue = Cache["关键字"];
}</div>

希望本文所述对大家的asp.net程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET数据库操作类实例
  • ASP.NET导出word实例
  • asp.net core mvc实现伪静态功能
  • asp.net反射简单应用实例
  • ASP.NET Core中使用默认MVC路由的配置
  • Asp.net 中mvc 实现超时弹窗后跳转功能
  • asp.net实现的MVC跨数据库多表联合动态条件查询功能示例
  • ASP.NET实现MVC中获取当前URL、controller及action的方法
  • ASP.NET Core MVC压缩样式、脚本详解
  • ASP.NET中的C#基础知识

相关文章

  • 2017-05-11ASP.NET对IIS中的虚拟目录进行操作的代码
  • 2017-05-11配置Visual Studio 以调试.net framework源代码第1/2页
  • 2017-05-11CreateOutputCachedItemKey 缓存key的创建
  • 2018-08-20.net core下配置访问数据库操作
  • 2017-05-11.aspx中的命名空间设置实现代码
  • 2017-05-11记录asp.net网站是什么原因导致停止运行的代码
  • 2018-08-20ASP.NET Core缓存静态资源示例详解
  • 2017-05-11ASP.NET中操作SQL数据库(连接字符串的配置及获取)
  • 2017-05-11Asp.Net中的字符串和HTML十进制编码转换实现代码
  • 2017-05-11ajax添加数据后如何在网页显示

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net jQuery Ajax用户登录功能的实现
    • 获取DataRow[]的值示例
    • .NET操作Excel实例分享
    • ASP.NET如何使用web服务的会话状态
    • ASP.NET 修复 IIS 映射具体实现步骤
    • asp.net 简单单点登录技术分析
    • .NET c# 单体模式(Singleton)
    • .NET实现在网页中预览Office文件的3个方法
    • asp.net 动态添加多个用户控件
    • asp.net中GridView控件遍历的小例子

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有