2010-10-21 110 views

回答

1

你有沒有考慮自託管你的服務,而不是嘗試使用IIS。這可能比使用IIS更容易完成。

+0

我現在下去創建一個自託管服務來獲得從IIS走的路線。然而,我不確定的一件事是併發使用線程。 IIS免費提供 - 我如何確定連接到我的控制檯應用程序的n個客戶端都將獲得無阻塞的服務? – Snowy 2010-10-24 19:28:07

+0

@ScSub我的自我託管WCF服務的經驗是,你不必擔心它。 – 2010-10-24 20:09:30

7

經過相當多的努力之後,我能夠在XP/IIS5上成功部署WCF 4.0 REST Web服務。爲了您和他人在相同的情況下受益,這是我沒有(讓我知道如果你需要更多的細節):

  1. 使用VS 2010,建立一個部署 包項目,然後 安裝它在目標機器 (您的Web服務器)上。以下 鏈接將告訴你如何執行此操作:http://vishaljoshi.blogspot.com/2009/03/web-packaging-installing-web-packages.html

  2. 確保您的虛擬目錄在IIS中配置爲使用.NET 4(右鍵單擊虛擬目錄>屬性> ASP.NET選項卡> ASP.NET版)

  3. 配置虛擬目錄創建一個通配符映射,支持擴展名的請求(即您的REST API)(右鍵單擊虛擬目錄>屬性>配置>具有以下屬性映射選項卡):
    可執行 :C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll
    擴展:*
    檢查文件是否存在:選中
    (注:注意,保持此對話框中顯示爲灰色的「OK」按鈕的bug。要解決這個問題,只需在輸入擴展名後點擊可執行文本框並點擊「確定」按鈕即可)。

  4. 如果您在訪問服務時收到驗證錯誤,請關閉虛擬目錄上的集成驗證。如果您在服務的生成web.config中使用了默認值,這應該可以解決問題。如果您明確修改了身份驗證模式,則必須相應地進行修改。

+0

感謝BitMask777。我沒有取消選中**檢查文件是否存在**。所以它使我的Web服務無法正常運行。 – 2011-02-21 21:34:51

+0

偉大的步驟,這讓我在安裝.NET 4.0後需要去的地方!謝謝! – 2011-02-25 19:42:28