打开http://localhost/Service.svc 报 HTTP 错误 404.3 – Not Found由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
在 IIS 中打开 .svc 页面时提示 HTTP 错误 404.3 – Not Found,是因为您的服务器没有启用或安装 WCF (Windows Communication Foundation) 服务映射处理程序。IIS 无法识别 .svc 扩展名,因此将其拒绝。
请按照以下步骤解决此问题:
1. 通过 Windows 功能启用 WCF 服务(最常见解决方法)
如果您使用的是 Windows 客户端(如 Windows 10/11)或 Windows Server,需要勾选对应的 HTTP 激活功能。
对于 Windows 10 / Windows 11:
1. 按 Win + R 打开运行窗口,输入 optionalfeatures 并回车。
2. 在弹出的“启用或关闭 Windows 功能”窗口中,找到 .NET Framework 4.8 高级服务(或您当前使用的 .NET 版本,如 4.7/4.6)。
3. 展开它,然后展开 WCF 服务。
4. 勾选 HTTP 激活 (HTTP Activation)。
5. 点击“确定”,等待 Windows 自动安装完成后,重启 IIS 即可。
对于 Windows Server:
1. 打开 服务器管理器 (Server Manager)。
2. 点击“添加角色和功能”。
3. 一步步点击下一步,直到功能 (Features) 页面。
4. 展开 .NET Framework 4.x 功能 -> 展开 WCF 服务。
5. 勾选 HTTP 激活 (HTTP Activation) 并安装。
2. 重新注册 WCF 处理程序(针对旧版本 .NET)
如果您使用的是较老版本的 .NET Framework(如 .NET 3.0 或 3.5),或者执行上述操作后仍未生效,可以使用命令行工具手动注册:
1. 以 管理员身份 打开命令提示符 (CMD)。
2. 运行以下命令来注册 Windows Communication Foundation 的 IIS 处理程序:
"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
(如果是 64 位操作系统且运行的是 64 位应用池,可使用 Framework64 路径:”%windir%\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\ServiceModelReg.exe” -i)
3. 检查并确保相关 IIS 模块已安装
请确保 IIS 中已安装ASP.NET。如果在“启用或关闭 Windows 功能”中,Internet 信息服务 -> 万维网服务 -> 应用程序开发功能 下的 ASP.NET 4.x 没有被勾选,请将其勾选并安装。
完成上述步骤后,打开 CMD 执行 iisreset 重启 IIS 服务,然后刷新浏览器页面即可正常访问。