2013-03-10 37 views
2

I'm获得异常,当我尝试打开我的网页抛出:我越来越:异常已通过调用的目标

An unhandled exception occurred and the process was terminated.

Application ID: /LM/W3SVC/6/ROOT/ROXY/es

Process ID: 2972

Exception: System.InvalidOperationException

Message: Handle is not initialized.

StackTrace:
at System.WeakReference.set_Target(Object value)
at System.Data.ProviderBase.DbConnectionInternal.CloseConnection(DbConnection owningObject, DbConnectionFactory connectionFactory)
at System.Data.Odbc.OdbcConnection.Close()
at DsNet.CUIHandler.CloseConn()
at DsNet.CUIHandler.Finalize()

的页面出现错误:

Message: Exception has been thrown by the target of an invocation.

任何想法?提前

回答

7

页面中的错误声音无关,和

感谢应通过捕捉和记录它进行调查。如果您确实收到了TargetInvocationException,那么您可以通过.InnerException得到实际的例外。

重新提出另一个问题:什么是DsNet?那是你的代码吗?或你正在使用的图书馆?无论哪种方式,它听起来像它有一个终结器中的错误(触摸管理对象是一个真的不好主意在终结者)。我希望你可以通过使用using围绕干扰是DsNet而使这个不那么脾气暴躁,以至于它得到以常规代码处置,而不是在GC扫描中以结束。唯一“打”我在谷歌DsNet.CUIHandler这个问题 - 所以我猜测这是你的代码。如果是这样的话:不要触摸终结器中的其他管理对象。

+0

这就是问题所在,DsNet是我正在使用的库,我无法修改它。任何方式来确定问题?该网站工作良好多年 – 2013-03-10 21:47:28

+0

@ErnestoRodriguez终结者(作为GC的一部分)将在不可预知的时间发生,因此理想情况下应单独处理;就像我说的那样,我建议的最好的事情是:确保你使用'using',或者在你完成它们之后以其他方式处理'IDisposable'对象。除此之外:你还没有付出太多的努力......我只能说“某种编码,配置或环境问题”。这并没有多大帮助...... – 2013-03-10 21:49:24

+0

感谢您指出'.InnerException' – 2015-06-10 15:18:20