dispose方法用来释放非托管资源
托管资源不需要显式调用,方法结束自动释放.

解决方案 »

  1.   

    参考:http://msdn.microsoft.com/zh-cn/library/system.idisposable.dispose(v=vs.110).aspx
      

  2.   

    dispose释放非托管资源,例如文件句柄,网络连接等。
    托管资源出了作用域后,GC会清除。一般面向对象程序语言中有个感念叫析构函数,它在销毁对象时会被调用,C#也有,但是 对象什么时候比被GC销毁是不确定的。可以在析构函数中释放非托管资源,但是什么时候被调用就不确定了,因此引入Idisposable接口。在Dispose函数中释放非托管资源,结合using使用,已经成为事实标准了。
      

  3.   

    dataset.dispose();//也许只是继承接口 空实现
    return dataset;按楼上各位的意思~你试试
    conn.dispose();
    return conn;//数据库链接试试看每个继承Idisposable接口的实现可以是不一样的~我自己实现过的
    public Class Initer
    public void Dispose()
            {
                if (dbContext != null)
                {
                    dbContext.Dispose();//释放EF
                }            if (container != null)
                {
                    container.Dispose();//释放IOC
                }
            }其他调用者
    using(Initer initer = new Initer())//内部有很多类,需要释放
    {.........}
      

  4.   

    释放非托管资源的方法,需要实现IDispose接口,这样做的好处就是可以释放非托管资源。
    在C#当中,析构函数释放资源也是可以的,但是因为GC的诞生,导致了一个问题就是析构函数何时调用的问题。但是对于用户而言,很多时候,释放资源等操作,是希望可以控制的,也就是不要不知道什么时候释放。因此,就出现了Dispose方法。C#为了提供dispose释放非托管资源,出现了一个using语句,就是为了简化上述操作中,直接调用dispose的操作。
      

  5.   

    告诉GC 这个资源已经没用了。具体什么时候释放由GC决定
      

  6.   

    dispose释放非托管资源。当对象出了作用域以后被GC调用,也可以自己调用释放资源。
      

  7.   

    释放非托管资源,.NET GC 管不了的那些东西,调用 dispose 通知让另外的程序去管。城管管不了的,得立马报警让警察介入。