我正在尝试配置 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
文件夹的相关部分:
- 网站应用程序池配置为.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 提供的网站配置工具时,一切正常。