WCF錯誤404.17 請求的內容彷佛是腳本,於是沒法由靜態文件處理程序來處理

錯誤起源:點擊.svc文件報錯web

錯誤內容api

 

 

解決方案:網站

問題起源解析:沒有配置.svc文件類型對應的處理方式ui

解決方式:spa

(1)進入應用程序code

打開檢查是否包含對.svc文件的處理程序blog

若是沒有,提供一下兩種添加方式:ip

(1)手動在IIS的處理程序映射中添加:rem

      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.NET\Framework\v2.0.50727\aspnet_isapi.dll。
   k. 在「名稱:」文本框中鍵入 svc-ISAPI-2.0。
   l. 使用「上移/下移」控件,確保託管處理程序 (svc-Integrated) 在列表中出如今 aspnet_isapi (svc-ISAPI-2.0) 處理程序以前。
   m. 單擊「肯定」。

it

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