ELMAH 可以与 Oracle.ManagedDataAccess 一起使用吗?

Can ELMAH work with Oracle.ManagedDataAccess?

我有 ASP.NET MVC 项目,它使用 Oracle.ManagedDataAccess.dll 连接到 Oracle 数据库,所以我不需要在部署应用程序的任何机器上安装 Oracle 客户端。是否有配置 ELMAH 以使用 Oracle.ManagedDataAccess.dll 的选项? 换句话说,据我了解,ELMAH 只能使用 Oracle 客户端吗?

ELMAH 的最新版本的 Oracle 错误记录器,实际上同时支持 Oracle 客户端和 Oracle 自己的 .NET 客户端:

https://github.com/elmah/Elmah/blob/master/src/Elmah.Oracle/OracleErrorLog.cs#L429

还没有 2.x ELMAH 的 NuGet 包,其中包含此错误记录器。您可以从 GitHub 克隆 ELMAH 存储库并通过源代码管理、内部 NuGet 服务器或 MyGet 分发它。或者,您可以创建自己的错误日志实现:Writing custom error loggers for ELMAH.

这是我 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" />