最近重装了系统,用上了Windows 7,在IIS7中Host WCF Service的时候,遇到一个比较奇怪的问题,当在站点下面添加应用,指向WCF的目录后,访问.svc文件,浏览器提示以下错误:
The page you are requesting cannot be served because of the extension configuration.
If the page is a script, add a handler. If the file should be downloaded, add a MIME map.
这种错误应该是.svc文件没有映射到相关的handler上,因此IIS不知道怎么处理该请求。带着错误信息,在网上搜索了一把,终于找到了解决方法,看来搜索引擎很强大。
解决方法如下:
1.用管理员身份运行cmd命令行
2.切换到目录C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation
3.运行命令: servicemodelreg –i
这样,工具会自动把WCF相关的注册项安装到IIS7中,再打开浏览器访问WCF Service,一切正常。
细想了一下自己的装机过程,先装了VSTS和.net framework,后来发现IIS7没有在windows7里面默认安装,要到部署WCF的时候,才装好IIS7。这样在安装.net framework 3.0的时候,因为没有安装IIS7,所以一些注册项就没有起到作用。此方法可以将WCF的配置项重新配置到IIS7中,供同学们参考。