IIS配置WCF浏览SVC报HTTP 404.3-Not Found错误及未能加载文件或程序集"Oracle.ManagedDataAccess"或它的某一个依赖项等错误的解决方法

IIS站点配置WCF完成,进行浏览器中浏览时,报错:HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加MIME映射。

经查询网上有解决方案如下:
1、IIS程序安装问题。

解决步骤如下:

控制面板-》打开或关闭windows功能-》Internet信息服务-》万维网服务-》应用程序开发功能。
勾选上“.net扩展性”和“ASP.NET”,保存后,重启IIS服务器即可。
 
 其次,勾选上Windows Process Activation Service
 
最后,还需勾选上Microsoft .NET Framework 3.5.1(如有其他版本也勾选上,如 4.7):
 
 
然后 找到Visual Studio  命令提示工具中。然后用管理员身份运行,输入命令 
aspnet_regiis -i
如果可以成功显示 ASP.NET 安装完毕 
就说明 安装成功!
 
简直二逼,如果真是这样导致的问题,只能说明安装IIS的时候没脑子,或者系统自带根本就没去检查IIS安装是否正常。
2、IIS站点IIS配置下的处理程序映射有问题。
后缀格式列表中是否有.svc,如果不存在则是*.svc 处理映射未配置导致此问题。
解决方法,以管理员身份进入命令行模式,运行:
"%windir%Microsoft.NETFrameworkv3.0Windows Communication FoundationServiceModelReg.exe" -r -y
-r         - 重新安装此版本的 Windows Communication Foundation,
              并更新 IIS 元数据库根处的脚本映射和根以下的所有
              脚本映射。无论原始版本是什么,都将现有的脚本映射
              升级到此版本。
-y         - 在卸载或重新安装组件之前不要求确认。
 
-------------------------------
一般是在安装 Windows Communication Foundation (WCF) 之后安装了 IIS造成,运行以上命令将在 IIS 中注册所需的脚本映射。
这时将确保在MIME中将 .svc 文件类型映射到 aspnet_isapi.dll。
好吧,我的就是这个问题。执行完成解决问题。
 
如果 出现 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。 

原因:这是因为先安装了 .NET Framework 4,随后启用了 .NET Framework 3.5 WCF HTTP 激活,则会发生此错误。

解决办法:
微软官方对该问题也作了解答:http://msdn.microsoft.com/zh-cn/library/aa751852.aspx
只需要已管理员用户在cmd中运行 C:WindowsMicrosoft.NETFrameworkv4.0.30319>aspnet_regiis.exe -i -enable 即可。

3、浏览SVC,如果报如下错误(未能加载文件或程序集"Oracle.ManagedDataAccess"或它的某一个依赖项):

原因:这是因为先未安装了 ODP.NET(Oracle驱动),则会发生此错误。

解决办法:安装 Oracle 全托管驱动(推荐使用oracle.ManagedDataAccess.dll(oracle.ManagedDataAccess.Client)全托管驱动。实际使用发现,Oracle全托管驱动对32位和64位oracle数据库具有很好的连接兼容性)

另外,Web.config文件配置好:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <configSections>
    <section name="entityFramework"  type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"  requirePermission="false"/>
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
  </configSections>
 
  <oracle.manageddataaccess.client>
    <version number="4.121.2.0">
      <edmMappings>
        <edmMapping dataType="number">
          <add name="bool" precision="1" />
        </edmMapping>
      </edmMappings>
    </version>
  </oracle.manageddataaccess.client>
 
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
      <provider invariantName="Oracle.ManagedDataAccess.Client"
        type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
    </providers>
  </entityFramework>
</configuration>
原文地址:https://www.cnblogs.com/chriskwok/p/14179500.html