[IIS][WCF]HTTP 錯誤 404.3 - Not Found

最近因為專案需求重新把WCF開張,為了佈署方便,測試環境是用IIS來裝載WCF,但測試服務是否啟用時(直接瀏覽.svc)出現

HTTP 錯誤 404.3 - Not Found!

詳細的訊息:

因為網頁伺服器上設定的多用途網際網路郵件延伸標準 (MIME) 對應原則,而無法提供您要求的網頁。如果此網頁為指令碼,請新增處理常式,而且如果它是應該要下載的檔案,請新增 MIME 對應。

 

很惱人的錯誤畫面:

測試環境是Windows 8.1 + IIS8.5

 

(1)從IIS站台觀察,測試其他的網站服務(CAR、DEMO、DISP)都正常,就是WCF不work

2.檢查了應用程式開發功能,確認已經安裝了ASP.NET 4.5

如何解決執行 ASP.NET 應用程式發生 HTTP 錯誤 404.3(一點通系列 - MVP 撰寫)

https://support.microsoft.com/zh-tw/kb/2626257

 

(3)IIS應用程式集區也有.NET4.5

HTTP 錯誤 404.3 - Not Found

https://dotblogs.com.tw/alvin26/2014/03/07/144279

(4)從msdn找到WCF 疑難排解快速入門

裡頭的建議:

當「Windows Communication Foundation HTTP 啟動」沒有在控制台明確設定時,會出現這個錯誤訊息。 若要設定此項目,請移至控制台,按一下視窗左下角的 [程式]。 按一下 [開啟或關閉 Windows 功能]。 展開 [Microsoft .NET Framework 3.5.1],並選取 [Windows Communication Foundation Http 啟動]。

果然沒開

勾選啟用後按下確定,再測試一次,但出現了其他訊息:

HTTP 錯誤 404.17 - Not Found

好!繼續解題..

 

(5)同事k比對後發現了.NET Framework 4.5 進階服務,於是點開了看,裡頭有一個WCF服務!!

因為我們用IIS裝載而且是用basichttpbinding,HTTP應該要勾選啟用,於是勾選並按下確定。

(6)重新瀏覽svc,確認服務啟用了!

(7)測試wcf服務運作是否正常

 

A.開啟測試程式WcfTestClient.exe,因為安裝的是visual studio 2015,所以找14.0的目錄:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\WcfTestClient.exe

B.新增服務

新增剛剛的服務

測試一下原本的hello,輸入stanley,正常回應結果。

小結:

  • 第4步驟WCF 疑難排解快速入門可以不用改,wcf也可以正常運作。
  • 不要和自己比記憶,筆記!

 

參考:

如何解決執行 ASP.NET 應用程式發生 HTTP 錯誤 404.3(一點通系列 - MVP 撰寫)

HTTP 錯誤 404.3 - Not Found

WCF 疑難排解快速入門