析构函数什么时候被调用
namespace ForexDatasource.temp
{
     public partial class WebForm1 : System.Web.UI.Page
     {
         protected void Page_Load(object sender, EventArgs e)
         {
             aa a = new aa();
         }
     }
     public class aa
     {
         public aa()
         {
             int i = 0;
         }
         ~aa()
         {
             int i = 0;  //我在这个地方设了一个断点,打开和关闭页面都没有执行到这儿,为什么?
         }
     }
}
------解决方案--------------------1,GC(.net框架自自动托管垃圾回收也就是调用了析构函数)
2,对于一些独占的,很宝贵的资源,建议显示调用调用
------解决方案--------------------析构函数只有在GC回收时才调用,你在调试环境是无法跟踪到的...
析构函数在.NET中没有多大意义,不建议使用...对于需要及时释放的资源应使用IDisposable接口...
------解决方案--------------------LS都说了,
我想说的是楼主如果一定要测试的话是可以的!!
页面加一个Button,Button的click打一句代码;
程序改成这样:
public partial class Default7 : System.Web.UI.Page
{
   aa a;
   protected void Page_Load(object sender, EventArgs e)
   {
       a = new aa();
   }
   protected void Button1_Click(object sender, EventArgs e)
   {
       GC.SuppressFinalize(a);//执行垃圾清理,但并不马上执行,看系统的情况
   }
}
public class aa
{
   public aa()
   {
       int i = 0;
   }  
   ~aa()
   {
       //int i = 0;  //我在这个地方设了一个断点,打开和关闭页面都没有执行到这儿,为什么?  
   }
}  
端点设在~aa()下的花括号上,
可这样试验,启动,多按几次button,退出再启动,反复来几次总有一次会执行到断点!!
------解决方案--------------------.net 不能用c++的方式开发的