Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dziwny problem z członkostwem w ASP

Stare pytanie tutaj, ale właśnie na nie wpadłem i chciałem podzielić się kilkoma szczegółami.

Po pierwsze, najłatwiejsze rozwiązanie, jeśli potrzebujesz wykonać <clear/> w bloku connectionStrings jest dodanie pustego wpisu ciągu połączeń OraAspNetConString z powrotem do pliku web.config:

<connectionStrings>
    <clear />
      <add name="OraAspNetConString" connectionString=" "/>    
</connectionStrings>

Co się stanie, gdy zainstalować pakiet Oracle .NET na dowolnym komputerze instaluje mnóstwo różnych dostawców w pliku machine.config wraz z OraAspNetConString jako connectionString na poziomie maszyny. <clear/> element pozbywa się tego OraAspNetConString, a dzięki dodatkom Oracle machine.config wszyscy inni dostawcy Oracle ładowani domyślnie ulegają awarii, gdy nie mogą znaleźć connectionString.

Druga odpowiedź tutaj, w której badałeś użycie elementu dla dostawców członkostwa, nie zadziałała, ponieważ większość innych dostawców Oracle dodanych w pliku machine.config nadal będzie szukać tego OraAspNetConString więc wyczyszczenie tylko jednego dostawcy ci nie pomoże.

To są wszyscy dostawcy, którzy zainstalowali w moim pliku machine.config:

<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>

Więc jeśli nie chcesz dodać pustego OraAspNetConString, musisz upewnić się, że albo <clear/> każdy z następujących dostawców Oracle lub wejdź i dodaj <remove name=x /> element do każdej klasy dostawcy w ten sposób:

<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>

Nigdy nie miałem do czynienia z żadnym kodem siteMap ani Health Monitoring w mojej aplikacji internetowej, ale nadal musiałem ręcznie dodać te <remove/> elementy dla różnych dostawców w moim pliku web.config lub coś ulegnie awarii podczas szukania ciągu połączenia OraAspNetConString, którego tam nie było.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czym są rekordy PLSQL w Oracle

  2. Rozwiąż błąd PLS-00323 w Oracle

  3. Oracle generuje wiersze harmonogramu z interwałem

  4. Pomoc w obliczaniu złożonej sumy w hierarchicznym zbiorze danych

  5. Czas życia multiemisji Java zawsze wynosi 0