2014-11-17 128 views
0

我想使用一個已經存在的ASP.net的Web應用程序來承載WCF服務,所以我嘗試以下步驟,託管WCF服務,部署文檔

1-在Visual Studio中2010年,我通過Web>ASP.net Web應用程序模板創建了Web應用程序,名爲WebApp

2 - 增加了新的WCF服務通過添加>新項...>WCF服務,命名爲MyServ

3-改性在MyServ.svc的DoWork()方法如下,

 public void DoWork() 
     { 
     } 

 public string DoWork() 
     { 
      return "hello"; 
     } 

,因此我修改IMyServ.cs以匹配新的簽名。

4-當我在開發服務器上運行應用程序並訪問http://localhost:1399/MyServ.svc時,服務運行良好。

5-因此,我爲這個應用程序創建一個發佈,準備將其託管在IIS上。

6-在IIS中,我創建了一個名爲新網站WebAppSite並給出端口111,所以現在當我訪問http://localhost:111/,我執導的Web應用程序發佈網站的默認頁面,這是罰款,並表明該應用程序的aspx部分在IIS上工作正常。

7-所以我嘗試訪問http://localhost:111/MyServ.svc檢查,如果該服務被成功部署,但我得到這個消息,

HTTP錯誤404.3 - 找不到 您請求的頁面不能因爲送達擴展配置。如果頁面是腳本,請添加處理程序。如果文件應該被下載,添加一個MIME映射。

任何想法的問題是什麼?

回答

0

您需要在IIS中註冊的.svc MIME類型

運行 「\%WINDIR%\ Microsoft.NET \框架\ 3.0 \ Windows通訊基礎\ ServiceModelReg.exe -i」

+0

非常感謝您的幫助,IIS似乎現在瞭解服務文件,但不幸的是我現在正在接收此異常。無法加載類型'System.ServiceModel.Activation.HttpModule'從程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089' – Sisyphus

+0

問題解決在http://stackoverflow.com/questions/15688930/能-未負載型系統servicemodel激活-HTTP模塊-從組裝-S – Sisyphus

0

Here是一個完整的指南,請申請的所有步驟:

  1. 添加「.SVC」擴展名和MIME類型,如功能視圖「應用程序/八位字節流」到IIS MIME類型。
  2. 通過從VS 2010命令提示符(以管理員身份運行)運行aspnet_regiis.exe -i命令來註冊Asp.net。
  3. 右鍵單擊cmd,以admin身份運行,轉到「C:\ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation」文件夾並運行:ServiceModelReg。exe -i

如果您在IIS中做了一些更改,則可能需要轉到處理程序映射,右鍵單擊靜態文件並選擇「還原爲父項」。