我在尝试打开页面时收到异常:
发生了未处理的异常,并且该流程已终止。
申请ID:/ LM / W3SVC / 6 / ROOT / ROXY / es
流程ID:2972
异常:System.InvalidOperationException
消息:句柄未初始化。
堆栈跟踪:
在System.WeakReference.set_Target(对象值)
在System.Data.ProviderBase.DbConnectionInternal.CloseConnection(DbConnection owningObject,DbConnectionFactory connectionFactory)
在System.Data.Odbc.OdbcConnection.Close()
在DsNet.CUIHandler.CloseConn()
在DsNet.CUIHandler.Finalize()
在页面中我收到错误:
消息:调用目标抛出了异常。
有什么想法吗?
提前致谢
答案 0 :(得分:7)
页面中的错误听起来无关紧要,应该通过捕获和记录它来进行调查。如果您最终捕获TargetInvocationException
,则可以通过.InnerException
获取实际例外。
另一个问题:什么是DsNet?那是你的代码吗?或者您正在使用的图书馆?无论哪种方式,听起来它在终结器中都有一个错误(触摸托管对象是终结器中的真的坏主意)。我希望你可以通过在DsNet周围使用using
来减少脾气暴躁,以便它在常规代码中处置,而不是最终确定 GC扫描。我在谷歌DsNet.CUIHandler
获得的唯一“点击”是这个问题 - 所以我猜测这是你的代码。如果是这样:请勿触摸终结器中的其他托管对象。