错误起源:点击.svc文件报错
错误内容
解决方案:
问题起源解析:没有配置.svc文件类型对应的处理方式
解决方式:
(1)进入应用程序
打开检查是否包含对.svc文件的处理程序
如果没有,提供一下两种添加方式:
(1)手动在IIS的处理程序映射中添加:
a.打开命令提示符窗口并键入 start inetmgr,以打开 Internet 信息服务 (IIS) MMC 管理单元。
b.在左侧窗格中,展开包含计算机名称的节点,然后展开“网站”节点,然后选择“默认网站”。
c.在“功能视图”中双击“处理程序映射”。
d.在应用程序映射列表中验证 .svc 文件是否已映射到 aspnet_isapi.dll。如果尚未映射该文件:
(1). 单击“添加托管处理程序”。
(2). 在“请求路径:”中键入 *.svc。
(3). 在“类型”文本框中键入 System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089。
(4). 在“名称:”文本框中键入 svc-Integrated。
e. 单击“确定”。
f. 单击“添加脚本映射”。
i. 在“请求路径:”中键入 *.svc。
j. 在“可执行文件:”文本框中键入 %SystemRoot%Microsoft.NETFrameworkv2.0.50727aspnet_isapi.dll。
k. 在“名称:”文本框中键入 svc-ISAPI-2.0。
l. 使用“上移/下移”控件,确保托管处理程序 (svc-Integrated) 在列表中出现在 aspnet_isapi (svc-ISAPI-2.0) 处理程序之前。
m. 单击“确定”。
(2)进入代码中修改WCF的webconfig文件(if你的webconfig文件是由Web.config.template生成的,请修改Web.config.template文件)
添加以下内容:
<system.webServer> <handlers> <remove name="svc" /> <add name="svc" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler" resourceType="File" requireAccess="Script" preCondition="integratedMode" /> </handlers> <modules runAllManagedModulesForAllRequests="true"/> <directoryBrowse enabled="true"/> </system.webServer>