2012-02-15 32 views
0

正如問題所述,我在本地IIS上運行Web應用程序時遇到問題。如何在本地IIS7服務器上運行(調試)WCF REST服務應用程序

這裏是我的情況:

  • Windows優先的Oracle VM VirtualBox在Linux Ubuntu上運行。
  • 橋接適配器,以便Windows盒從我的路由器獲取本地IP。
  • 的Visual Studio 2010 + SP
  • WCF REST服務應用程序插件項目模板
  • 使用Visual Studio開發服務器(在本地主機上),當應用程序運行。
  • 目標框架是4.0版

我需要的是應用程序上運行的IP,而不是在本地主機上(這樣我就可以使用它在局域網遠程計算機上),所以我配置IIS7。

這裏是IIS配置:

  • 我創建了一個網站,目標框架4.0版
  • 我綁定的網站,我的本地IP端口80上的
  • 的路徑網站/的Inetpub/wwwroot iisstart.htm作爲默認文檔
  • IIS運行正常。如果我打開「http:// my_local_ip」,我會看到歡迎標誌。

問題在於visual studio。

當我去項目屬性「Web」部分,並選擇本地IIS vsd服務器是我迷路的地方。如果我將「Project URL」設置爲「http:// my_local_ip/some_name」,visual studio會抱怨它無法找到IIS服務器,因此無法創建虛擬目錄。我嘗試在IIS管理器中手動添加虛擬目錄,但沒有任何效果。如果我使用「http:// localhost/some_name」作爲「項目URL」,虛擬目錄被創建,但它沒有意義嗎?

請問有人請賜教嗎?

回答

2
If I use "http://localhost/some_name" as the "Project URL" the virtual directory gets created, 
but it makes no sense does it? 

我認爲你在這裏混合不同的東西。當您要求VS使用本地主機作爲您的項目的IIS服務器時,它將連接到本地IIS以執行配置任務。如果你問VS tu使用「my_local_ip」,你告訴VS你IIS服務器是遠程的,因此VS將使用遠程管理來配置IIS(VS不知道my_local_ip是本地計算機)。

但是遠程IIS管理未在默認WinServer框中啓用。此外,它需要一些額外的網絡配置。因此,您應該告訴vs使用本地服務器。

事實上,IIS站點綁定和VS部署參數是完全不同的東西。因此,請在http://localhost/your_site上部署您的網站。

但是,我不太喜歡使用VS調試部署部署真正的應用程序的前景。該目錄將包含您的所有項目文件...您應該:

  1. 在IIS管理器上創建您的站點並設置虛擬目錄。
  2. 要麼
    • 問VS TU發佈該網站的目錄(虛擬目錄)
    • 問VS TU發佈WebDeploy包,然後問IIS管理器中導入的包。
+0

謝謝你的解釋Eilistraee。然而我不明白你的建議(我在國際空間站是新的)。我在ISS管理器的網頁上創建了一個具有別名「service」的虛擬目錄,並將物理路徑設置爲/ inetpub/wwwroot/service。如果我明白,VS應該複製文件到這個目錄中,一旦我建立/運行應用程序?那麼在VS中,我選擇本地IIS和「項目URL」作爲「http:// localhost/service」。 VS以某種方式不知道虛擬目錄已經創建,並且它無法創建一個...對不起,但我真的從來沒有這樣做過! – no9 2012-02-16 11:10:24

+0

好吧,我以某種方式創建了虛擬目錄,以便VS滿意。虛擬目錄的詳細信息是:我創建了一個文件夾/ inetpub/wwwroot/service並將此文件夾設置爲虛擬目錄的物理路徑。別名是服務。在VS中使用這個不會給我任何錯誤。但是,當我運行該應用程序VS引發錯誤:無法啓動Web服務器上的調試。 Web服務器找不到請求的資源。我錯過了什麼? – no9 2012-02-16 11:37:34

+0

確定取得了一些進展。我能夠在IIS上發佈應用程序。在虛擬目錄我現在有bin文件夾,global.asax和web.config。我現在需要的是找出爲什麼IIS不運行應用程序。目前它要求我設置默認文檔或啓用目錄瀏覽,但這不是我的目標。 – no9 2012-02-16 18:25:48

相關問題