我正在嘗試配置 IIS 網站以使用 Oracle 資料庫作為 ASP.NET 成員資格,但無法使其運作。 IIS 似乎無法載入包含 Oracle 成員資格提供者的組件。
這就是我到目前為止所擁有的:
- 線上 Oracle 10g 資料庫,並建立了 ASP.NET 成員資格的所有資料表。
- 安裝了 Web 伺服器角色的 Windows 2008 R2 Standard,包括對 ASP.NET 的支援。
- Oracle 11g 第 2 版 ODAC 11.2.0.1.2安裝。安裝的元件有:.NET 的 Oracle 資料提供者、ASP.NET 的 Oracle 提供者、Oracle 即時用戶端。
- IIS 上的預設網站(我正在使用它進行測試)具有以下
web.config
文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<membership defaultProvider="OracleMembershipProvider">
<providers>
<remove name="SqlMembershipProvider" />
<add name="OracleMembershipProvider"
type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342"
connectionStringName="OracleServer" />
</providers>
</membership>
</system.web>
</configuration>
(為簡潔起見,省略了「add」元素上的其他屬性。此外,連接字串是為整個伺服器定義的。)
- Oracle.Web.dll 檔案位於 GAC 上。這是資料夾的相關部分
C:\Windows\Assembly
:
- 網站應用程式集區配置為 .NET 2.0,並啟用了 32 位元應用程式。
- 我已在 IIS
administration.config
檔案中允許不受信任的提供者(只是為了測試,稍後我將將該程式集明確新增至受信任的提供者清單中)。
完成所有這些設定後,當我單擊 IIS 管理員上的「.NET 使用者」圖示時,我收到一條有關提供者權限過多的警告,當我接受時,我收到以下訊息:
執行此操作時發生錯誤。
細節:
無法載入檔案或組件「Oracle.Web,Version=2.112.1.2,Culture=neutral,PublicKeyToken=89b483f429c47342」或其依賴項之一。該系統找不到指定的檔案。
那麼,我錯過了什麼?如何讓 Oracle 會員資格提供者正常運作?
謝謝你!
更新:看來問題不在於IIS本身,而是IIS管理員。當使用Visual Studio提供的網站設定工具時,一切正常。