我们的IIS托管WCF应用程序定期崩溃,在应用程序事件日志中显示以下内容
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException
Stack:
at Oracle.DataAccess.Client.OracleDataReader.Dispose(Boolean)
at Oracle.DataAccess.Client.OracleDataReader.Finalize()
这是Oracle.DataAccess 4.121.2.0,我非常怀疑这是一个Oracle错误,而是我们以某种方式破坏了OracleDataReader的状态。
有人可以提示如何诊断此问题吗?
答案 0 :(得分:1)
在我们的案例中,我们在app.config
或web.config
中启用跟踪记录,如下所示:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All" propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="myUserTraceSource" switchValue="Information, ActivityTracing">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\Temp\WcfTrace.svclog" />
</sharedListeners>
</system.diagnostics>
现在您可以查看WcfTrace.svclog
文件并查看可能导致错误的大量跟踪消息。