今天在客戶的環境中(Windows Server 2012 R2 + IIS 8.5)搭建Call WCF Restful Service的功能,發現了幾個環境配置的問題,記錄如下:
1):此環境先安裝了.Net Framework,後安裝的IIS,導致IIS site上無法執行.Net的程式,
因此我們要向IIS中註冊.Net Framework,具體操作請參考如下連結:
http://www.cnblogs.com/mingmingruyuedlut/archive/2011/11/04/2235630.html
2):接下來我們看一下IIS中缺少.Net Framework對應的Feature的表現,即:開啟IIS,發現下圖中紅框標註的區域不見了
3):上面的操作只能保證IIS site能夠執行.Net的程式碼,但是具體的WCF不一定能夠執行,因為缺少了WCF對應的Feature,我們在WCF Restful Service的時候會發生錯誤 500.19 - Internal Server Error
在Windows Server 2012 R2(或者Windows8, 8.1)中如何開啟WCF相應的Feature,請看如下連結:
http://blog.darkthread.net/post-2013-11-29-iis8-asp-net-setup.aspx
4):如果正常開啟了WCF相對應的Feature後,訪問WCF Restful Service依然發生 HTTP 錯誤 404.7 - Not Found,請看如下連結中的解決方案:
http://www.chinaitlabs.net/2093.html or http://kevinfan.blog.51cto.com/1037293/1058524
5):正常情況下,3)中的操作已經包含了4)的操作,假如我們對以存在的site先操作了4)後操作了3),就會導致此site中Handler Mapping存在Duplicated的資料,因此我們要將此site刪除重建來解決此問題