最近在学习WCF,发现将网站WCF服务放到IIS上时不能正常运行,从网上搜了一下:
解决方法,以管理员身份进入命令行模式,运行:
"%windir%Microsoft.NETFrameworkv3.0Windows Communication FoundationServiceModelReg.exe" -r -y
==============================================================
-r - 重新安装此版本的 Windows Communication Foundation,
并更新 IIS 元数据库根处的脚本映射和根以下的所有
脚本映射。无论原始版本是什么,都将现有的脚本映射
升级到此版本。
-y - 在卸载或重新安装组件之前不要求确认。
==============================================================
不过这是3.0的,我根据路径查找只能看到4.0,而且还报错:
==============================================================
C:Windowssystem32>"C:WindowsMicrosoft.NETFrameworkv4.0.30319ServiceModelReg.exe" -r
Microsoft(R) WCF/WF 注册工具版本 4.5.0.0
版权所有(C) Microsoft Corporation。保留所有权利。
用于管理一台计算机上 WCF 和 WF 组件的安装和卸载的管理实用工具。
[错误]此 Windows 版本不支持此工具。管理员应改为使用“打开或关闭 Windows 功能”对话框或 dism 命令行工具来安装/卸载 Windows Communication Foundation 功能。
==============================================================
根据提示,去控制面板->程序->启用或关闭Windows功能,如下图所示,将需要的WCF服务勾选上就好了。
如果之前不小心尝试了3.0的命令(我就是。。。),再用:
"%windir%Microsoft.NETFrameworkv3.0Windows Communication FoundationServiceModelReg.exe" –ua
卸载一下就好了。
我的系统环境是:Windows 8 Pro + IIS 8.0 + .NET 4.5,其他的大家根据自己实际情况解决吧。
转自 https://www.cnblogs.com/xwgli/archive/2013/03/15/2961022.html