2011-02-08 76 views
14

我想在IIS7上發佈一個使用WCF的web服務。IIS 7不承認svc文件

我爲這個項目創建了一個網站,我也創建了一個應用程序,如MSDN suggested。我可以從創建的文件夾中在瀏覽器中打開html文件,但是如果我嘗試訪問我的服務的svc文件,則會得到404.3錯誤(您請求的頁面無法由於擴展配置而被提供服務)。我讀過我應該運行servicemodelreg來爲svc文件安裝缺少的處理程序。在我做了之後,我得到一個錯誤,說處理程序有一個壞的模塊。

我每次檢查以下東西:

  • IIS被打開
  • ASP.NET被打開
  • 沒有爲SVC文件

我跑了處理程序出於想法...

+0

你在事件日誌中看到提及? – RQDQ 2011-02-08 13:05:23

+0

你有一個`/ bin`文件夾,它是那裏的服務二進制文件嗎? – 2011-02-08 15:58:27

+1

嘗試運行aspnet_regiis.exe -i並將應用程序的ApplciationPool設置爲Framework 4. – vorrtex 2011-02-08 16:51:34

回答

18

如果在.NET Framework和Visual Studio之後安裝IIS,會發生這種情況,所以它有必要t o註冊ASP.Net。如果首先安裝IIS,則不會有這樣的問題。

但是該解決方案是簡單:開放Visual Studio Command Promt並輸入以下命令

aspnet_regiis.exe -i 

這裏是一個link與有關該命令和它的參數的更詳細的信息。

+2

我遇到了與Windows 8類似的問題。不幸的是,上述情況並不受支持。您需要轉到控制面板,打開或關閉Windows功能,並確保在.NET 3.5和4.5下需要的功能已打勾。 – Jon 2013-11-29 12:14:45

22

在Windows 8中,爲了使WCF運行DISM.exe

DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation 
DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45 

或者,如果您使用的是服務器管理器面板的添加角色和功能嚮導不要忘記檢查「HTTP激活」 WCF下設置了一切服務

enter image description here

3

對於Windows 8,以使WCF只好跑在管理員這些命令啓動Visual Studio的命令提示符:

DISM /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService 
DISM /Online /Enable-Feature /FeatureName:WAS-ProcessModel 
DISM /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment 
DISM /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI 
DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation 
DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45 
5

執行以下步驟來使SVC文件IIS下的的Windows 10處理

  1. 按窗口鍵+ R(它會彈出運行命令,鍵入optionalfeatures然後按回車。
  2. 它會帶來程序功能向​​導。 確保如快照中所示,選擇以下選項

按照步驟在下面的快照

Snapshot 1 Showing the Windows Features Required to Turn On

Snapshot 2 Showing to turn on More Features