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 - 在卸载或重新安装组件之前不要求确认。
"%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>