WCF错误404.17 请求的内容似乎是脚本,因而无法由静态文件处理程序来处理

错误起源:点击.svc文件报错

WCF错误404.17  请求的内容似乎是脚本,因而无法由静态文件处理程序来处理

错误内容

WCF错误404.17  请求的内容似乎是脚本,因而无法由静态文件处理程序来处理

解决方案:

问题起源解析:没有配置.svc文件类型对应的处理方式

解决方式:

(1)进入应用程序

WCF错误404.17  请求的内容似乎是脚本,因而无法由静态文件处理程序来处理

打开检查是否包含对.svc文件的处理程序

WCF错误404.17  请求的内容似乎是脚本,因而无法由静态文件处理程序来处理

如果没有,提供一下两种添加方式:

(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>