|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。析构函数中挪用SqlConnection工具的Dispose()办法就会呈现这个非常,可是在其他中央不会。搜刮MSDN的资本能够找到谜底:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=473449&SiteID=1
以下是关于SqlDataReader.CLose()办法的注释:
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.close.aspx
注重这段笔墨:
DonotcallCloseorDisposeonaConnection,aDataReader,oranyothermanagedobjectintheFinalizemethodofyourclass.Inafinalizer,youshouldonlyreleaseunmanagedresourcesthatyourclassownsdirectly.Ifyourclassdoesnotownanyunmanagedresources,donotincludeaFinalizemethodinyourclassdefinition.
不要再析构函数中挪用Connection,DataReader,或其他托管工具的Close()或Dispose()办法,析构函数中应该只是放类的非托管成员,假如类中不包括非托管成员不要创立析构函数。
这类成绩一般因为跨线程会见了非线程平安的工具,即使你没有显现声明一个线程,可是CLR外部会有自力的线程。竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。 |
|