求教关于c#对象资源释放问题

问题描述

求教关于c#对象资源释放问题

实现接口的Dispose()函数可以释放托管资源么?我看见微软的例子可以,可以举一些释放的例子吗?

解决方案

其实托管的资源只有一种,就是内存,其它的资源都是非托管的

解决方案二:

Dispose()函数只是一个平常的函数,本质上它和你定义的别的函数名的函数没有什么不同。所以它当然不能释放托管资源。
你可以用gc.collect()来让gc去释放托管资源。

解决方案三:

如楼上所说,调用gc

时间: 2024-11-15 22:12:21

求教关于c#对象资源释放问题的相关文章

C#资源释放及Dispose、Close和析构方法

在开始本文前,需要一些准备知识.首先要提出"什么是资源".在CLR出来之后,Windows系统资源开始分为"非托管资源"和"托管资源".非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理:托管资源是指:由CLR管理分配和释放的资源,即由CLR里new出来的对象. 其次再来讲,资源的释放方式.非托管资源:需要显式释放的,也即需要你写代

关于SocketAsyncEventArgs资源释放的问题

问题描述 最近写个网络程序用到SocketAsyncEventArgs类,参考网上资料初步完成,可是测试时发现内存大量增加,资源释放不掉.每次有一个socket接入后,内存增加,然后断开socket程序内存也在增加.我是当一个socket断开,调用下面函数publicvoidDispose(){try{this.connection.Shutdown(SocketShutdown.Send);}catch(Exception){//Throwifclienthasclosed,soitisnot

一起谈.NET技术,C#资源释放及Dispose、Close和析构方法

在开始本文前,需要一些准备知识.首先要提出"什么是资源".在CLR出来之后,Windows系统资源开始分为"非托管资源"和"托管资源".非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理:托管资源是指:由CLR管理分配和释放的资源,即由CLR里new出来的对象. 其次再来讲,资源的释放方式.非托管资源:需要显式释放的,也即需要你写代

C#资源释放及Dispose、“.NET研究”Close和析构方法

在开始本文前,需要一些准备知识.首先要提出"什么是资源".在CLR出来之后,Windows系统资源开始分为"非托管资源"和"托管资源&rdq上海网站建设uo;.非托管资源是指:所有的Window内核对象(句柄)都是非托管资源,如对于Stream,数据库连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到CLR管理:托管资源是指:由CLR管理分配和释放的资源,即由CLR里new出来的对象. 其次再来讲,资源的释放方式.非托管资源:需要显式

求教:js对象中的函数 访问变量的问题

问题描述 求教:js对象中的函数 访问变量的问题 name = "global"; var obj = { name:"obj", fun:function(){ alert(name); } }; obj.fun(); 结果是global,我觉得应该是obj才对,求解答 解决方案 备忘:Js函数修改及访问对象内变量.按照名称访问变量.属性.对象或影片剪辑.eval 函数关于空指针类型的类变量的成员函数访问的问题 解决方案二: fun:function(){ ale

关于webapi中entityframework资源释放的问题

问题描述 关于webapi中entityframework资源释放的问题 由于要用到EF的延迟加载,所以不能在调用结束后立刻释放上下文.之前webform的做法是在页面OnUnload时释放.webapi中似乎没有合适的地方来释放,filter的OnActionExecuted事件也是在序列化返回数据之前,有没有什么事件可以在序列化之后调用的?这样就能很好的释放EF资源了 解决方案 不要随便using或Dispose DbContexthttp://blog.csdn.net/wanmdb/ar

C++中单例模式对象的释放控制分析

单例模式也称为单件模式.单子模式.使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享.有很多地方需要这样的功能模块,如系统的日志输出等. 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅.<设计模式>一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有静态方法获取该实例.如下面的类定义: class CSingleton: { // 其它成员 publi

360安全浏览器如何资源释放更彻底

  为了在资源控制上得到更佳的表现,360安全浏览器3.0在架构方面为内存的释放做了很多优化. 尤其在多进程模式和混合模式下,在关闭网页的同时彻底释放网页占用的资源.使得因为网页自身内存泄露而导致的浏览器内存占用不断升高的问题得到根本性的解决.

IOCP中的socket错误和资源释放处理方法

错误处理和socket释放, 是IOCP编程中的一大难点. 本文试图就IOCP设计中经常遇到的这个难题展开论述并寻找其解决方案, 事实上, 文中所述的解决方式不仅仅适用于IOCP, 它同样适用于EPOLL等多种服务器编程的网络模型中, 前提是: 领会这种处理方式的实质. 正文: 在使用IOCP开发时, 大家经常遇到的一个难题是与socket相关的缓冲区释放不当带来的错误, 这种错误通常是由于多次对同一个指针执行了delete操作引起的. 比如, 当在执行wsasend或wsarecv返回了非pe