今天在客户的环境中(Windows Server 2012 R2 + IIS 8.5)搭建Call WCF Restful Service的功能,发现了几个环境配置的问题,记录如下:
1):此环境先安装了.Net Framework,后安装的IIS,导致IIS site上无法运行.Net的程序,
因此我们要向IIS中注册.Net Framework,具体操作请参考如下链接:
http://www.cnblogs.com/mingmingruyuedlut/archive/2011/11/04/2235630.html
2):接下来我们看一下IIS中缺少.Net Framework对应的Feature的表现,即:打开IIS,发现下图中红框标注的区域不见了
3):上面的操作只能保证IIS site能够运行.Net的代码,但是具体的WCF不一定能够运行,因为缺少了WCF对应的Feature,我们在WCF Restful Service的时候会发生错误 500.19 - Internal Server Error
在Windows Server 2012 R2(或者Windows8, 8.1)中如何开启WCF相应的Feature,请看如下链接:
http://blog.darkthread.net/post-2013-11-29-iis8-asp-net-setup.aspx
4):如果正常开启了WCF相对应的Feature后,访问WCF Restful Service依然发生 HTTP 错误 404.7 - Not Found,请看如下链接中的解决方案:
http://www.chinaitlabs.net/2093.html
5):正常情况下,3)中的操作已经包含了4)的操作,假如我们对以存在的site先操作了4)后操作了3),就会导致此site中Handler Mapping存在Duplicated的数据,因此我们要将此site删除重建来解决此问题