class test{ private string test1{set;get;} } //public test t//自己揣摩如果在这里定义公有对象,那么该对象内的test1的生命周期。 class run{ public test t=new test();//都是共有变量,生命周期会变化吗? test.test1="test"; }
private SqlConnection con;
[quote=引用 1 楼 xomix 的回复:] conn这个变量的生命周期没过,你close之后也是不会回收的,整个程序在等待它可能出现的再次调用,这种等待会导致数据库这边也在等待状态。 所以如果你直接在一个按钮中定义连接,连接,关闭操作一起做,在点击按钮事件完成后这个连接和相关资源就会被回收。 所以你要做的是调整这个变量的生命周期,使它在合适的时候释放。
conn这个变量的生命周期没过,你close之后也是不会回收的,整个程序在等待它可能出现的再次调用,这种等待会导致数据库这边也在等待状态。 所以如果你直接在一个按钮中定义连接,连接,关闭操作一起做,在点击按钮事件完成后这个连接和相关资源就会被回收。 所以你要做的是调整这个变量的生命周期,使它在合适的时候释放。
110,537
社区成员
642,576
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧