我有ASP.NET MVC项目,它使用Oracle.ManagedDataAccess.dll连接到Oracle数据库,因此我不需要在部署应用程序的任何计算机上安装Oracle客户端。有没有任何选项来配置ELMAH使用Oracle.ManagedDataAccess.dll? 换句话说,据我所知,ELMAH只能使用Oracle客户端?ELMAH可以使用Oracle.ManagedDataAccess吗?
1
A
回答
1
为ELMAH Oracle错误记录器的最新版本,实际上同时支持Oracle客户端和甲骨文自己的.NET客户端:
https://github.com/elmah/Elmah/blob/master/src/Elmah.Oracle/OracleErrorLog.cs#L429
有ELMAH没有2.X NuGet包,包含此错误日志然而。您可以从GitHub克隆ELMAH存储库,并通过源控制,内部NuGet服务器或MyGet分发它。或者,您可以创建自己的错误日志实施:Writing custom error loggers for ELMAH。
0
这是我的web.config中的代码。
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
<modules runAllManagedModulesForAllRequests="true">
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
<system.webServer>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
<elmah>
<security allowRemoteAccess="1" />
<errorLog type="Elmah.OracleErrorLog, Elmah" connectionStringName="elmah-oracle" schemaOwner="" />
</elmah>
<add name="elmah-oracle" connectionString="USER ID=...;DATA SOURCE=...;PASSWORD=..." providerName="Oracle.DataAccess.Client" />
尝试删除providerName属性。 – ThomasArdal
我尝试没有providerName,同样的问题。 – user521379
您是否正在使用GitHub的最新代码进行自定义生成? – ThomasArdal