IIS(7.5/8/10)中添加(设置)WCF服务支持(.svc)
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
周日的时候来了一个客户,说搞一个毕业设计,因为是NET的东西,他自己其实也说不清楚咋搞,因为他也是淘宝买的一些程序来做毕业论文的东西,现在搭建还来问我,也不晓得这老哥咋在学校学的;那就来说说IIS如何支持.SVC
在IIS10中测试一些传统WCF服务应用,发现IIS10不支持WCF服务svc请求,后来发现IIS8缺少对WCF服务的Managed Handler,
IIS10即支持WCF服务的操作流程
第一种方式:简单快捷;
简单方法就是添加删除程序,修改.net组件安装选项,勾选http激活即可;
第二种 添加MIME类型支持 “.svc”
添加MIME类型:扩展名“.svc”,MIME类型 “application/octet-stream”:
第三种:处理程序映射添加支持“.svc”
在“Handler Mappings(处理程序映射)”中添加Managed Handler(添加托管处理程序):
Request path: *.svc
Type: System.ServiceModel.Activation.HttpHandler
Name: svc-Integrated
关于IIS “.svc”延伸阅读:
如果提示web.config配置重复的话,很有可能是.net framework版本的问题,把IIS中的版本设置为2.0就可以了;如下图
HTTP Error 500.19 - Internal Server Error
配置错误: 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的 (overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。
出现这个错误是因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。要取消锁定可以运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。其中的 handlers 是错误信息中红字显示的节点名称。
如果modules也被锁定,可以运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
另外,如果使用Asp.net的朋友,在安装IIS7的时候一定记得勾选Asp.net,默认不选,也会出现类似的错误信息
还要注意的是IIS8.5需要增加/关闭功能中打开.net3.5 和.net 4.5的HTTP定向功能。
并且删除web.config中多余的<add name="svc-Integrated"
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!