IIS 无法加载 Oracle.Web 程序集(用于 ASP.NET 成员资格提供程序)

IIS 无法加载 Oracle.Web 程序集(用于 ASP.NET 成员资格提供程序)

我正在尝试配置 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已安装。已安装的组件包括:Oracle 数据提供程序(适用于 .NET)、Oracle 提供程序(适用于 ASP.NET)、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文件夹的相关部分:

Oracle.Web,2.112.1.2,无文化,89b483f429c47342,x86

  • 网站应用程序池配置为.NET 2.0,并启用了 32 位应用程序。
  • 我已经允许 IISadministration.config文件中不受信任的提供程序(仅仅为了测试,我稍后会将程序集明确添加到受信任的提供程序列表中)。

完成所有这些设置后,当我单击 IIS 管理器上的“.NET 用户”图标时,我会收到有关提供程序拥有过多权限的警告,当我接受时,我会收到以下消息:

执行此操作时出现错误。

细节:

无法加载文件或程序集“Oracle.Web,Version=2.112.1.2,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一。系统找不到指定的文件。

那么,我错过了什么? 如何让 Oracle 成员资格提供程序正常工作?

谢谢你!

更新:看来问题不在于 IIS 本身,而在于 IIS 管理员。使用 Visual Studio 提供的网站配置工具时,一切正常。

相关内容