Oude vraag hier, maar ik kwam hem net tegen en wilde wat meer details delen.
Ten eerste, de gemakkelijkste oplossing als u een <clear/>
. moet doen in uw connectionStrings-blok is om een lege OraAspNetConString-connectionstring-invoer terug in uw web.config toe te voegen:
<connectionStrings>
<clear />
<add name="OraAspNetConString" connectionString=" "/>
</connectionStrings>
Wat gebeurt er als u het Oracle .NET-pakket installeert op al uw machines installeert het een heleboel verschillende providers in uw machine.config samen met de OraAspNetConString als een connectionString op machineniveau. De <clear/>
element verwijdert die OraAspNetConString en dankzij de machine.config-toevoegingen van Oracle crashen alle andere Oracle-providers die standaard worden geladen wanneer ze de connectionString niet kunnen vinden.
Het andere antwoord hier waar je het element voor lidmaatschapsproviders hebt gebruikt, werkte niet omdat de meeste andere orakelproviders die in de machine.config zijn toegevoegd, nog steeds naar dat zoeken OraAspNetConString dus alleen die ene provider wissen helpt je niet.
Dit zijn alle providers die ze in mijn machine.config hebben geïnstalleerd:
<membership><providers>
<add name="OracleMembershipProvider" type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" />
</providers></membership>
<profile><providers>
<add name="OracleProfileProvider" type="Oracle.Web.Profile.OracleProfileProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>
</providers></profile>
<roleManager><providers>
<add name="OracleRoleProvider" type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>
</providers></roleManager>
<siteMap><providers>
<add name="OracleSiteMapProvider" type="Oracle.Web.SiteMap.OracleSiteMapProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName="" securityTrimmingEnabled="true"/>
</providers></siteMap>
<webParts>
<personalization>
<providers>
<add name="OraclePersonalizationProvider" type="Oracle.Web.Personalization.OraclePersonalizationProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" applicationName=""/>
</providers>
</personalization>
</webParts>
<healthMonitoring><providers>
<add name="OracleWebEventProvider" type="Oracle.Web.Management.OracleWebEventProvider, Oracle.Web, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionStringName="OraAspNetConString" buffer="true" bufferMode="OracleNotification"/>
</providers></healthMonitoring>
Dus als u de lege OraAspNetConString niet wilt toevoegen, moet u ervoor zorgen dat u ofwel <clear/>
elk van de volgende Oracle-providers of ga naar binnen en voeg een <remove name=x />
. toe element toe aan elke providerklasse als volgt:
<membership><providers>
<remove name="OracleMembershipProvider" />
</providers></membership>
<profile><providers>
<remove name="OracleProfileProvider" />
</providers></profile>
<roleManager><providers>
<remove name="OracleRoleProvider" />
</providers></roleManager>
<siteMap><providers>
<remove name="OracleSiteMapProvider" />
</providers></siteMap>
<healthMonitoring><providers>
<remove name="OracleWebEventProvider" />
</providers></healthMonitoring>
Ik heb nooit met siteMap- of Health Monitoring-code in mijn web-app gewerkt, maar ik moest deze <remove/>
toch handmatig toevoegen elementen voor de verschillende providers in mijn web.config of iets zou crashen op zoek naar een OraAspNetConString-verbindingsreeks die er niet was.