如何用web.config节

时间:2019-10-10 14:10:32

标签: c# oracle web-config odp.net machine.config

早上好,我的应用程序使用oracle.manageddataaccess.client,通过Nuget安装oracle.managedDataAccess时,在我的web.config中创建了一个引用,如下所示:

<configSections> 
  <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, 
  Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>

要运行我的应用程序,我需要在machine.config文件中使用相同的部分。 (Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config),下面的machine.config文件:

config machine.config

问题是,每当我需要使用另一个版本的oracle运行另一个应用程序时,都会出现重复键错误,因为在web.config中配置了一个版本,而在machine.config中,该节也配置了另一个版本。版。始终需要手动编辑文件machine.config并根据web.config的版本设置版本。

我要解决的问题是:

  • 在web.config部分(无法识别的属性)中添加allowOverride="true"
  • 在部分中添加<clear />元素(不成功)

我发现在不需要放置手动版本的其他计算机上,machine.config使用oracle.dataaccess.client部分,因此我研究是由于使用了非托管的odp.net驱动程序,将我的部分更改为这也行不通。

是否有任何方法可以覆盖此部分?或使用oracle.dataaccess.client解决此问题。

1 个答案:

答案 0 :(得分:1)

我通过在web.config中使用以下命令使其工作:

<configSections>
      <section name="new.oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>

然后使用新的配置部分:

  <new.oracle.manageddataaccess.client>
    <version number="*">
           <!--Oracle configuration settings-->
    </version>
  </new.oracle.manageddataaccess.client>