2011-06-26 40 views
1

我有一個包含多個集成測試項目和一個Web應用程序項目的解決方案。每個集成項目在運行測試時連接到Web應用程序。我希望每個測試項目都能通過自己的數據庫連接訪問網站。我一直在嘗試使用Visual Studio中內置的Web部署功能。然而,我一直無法弄清楚我需要添加到創建的部署包和/或測試項目的後期構建事件中,以便在部署時聲明網站的綁定端口。例如,我希望集成項目A創建和訪問位於http://localhost:83的網站並集成項目B以創建和訪問位於http://localhost:82的網站。有人可以解釋:如何使用Web部署在本地主機上部署多個站點並使用不同的端口

  1. 有什麼我需要做的部署包?
  2. 在部署軟件包時,我需要爲我的集成項目添加後期構建事件,以便在構建項目時在正確的端口上創建網站?

更新: 我想將相同的站點部署到我的機器上的兩個不同位置,以便我可以同時運行兩組集成測試。

更新2: 我研究了web部署工具,它允許您指定參數,以修改從命令行調用它時部署的參數。但是我發現這些文檔非常混亂。 http://technet.microsoft.com/en-us/library/dd568968(WS.10).aspx

更新3: 我期望這些是兩個不同的網站,每個網站都指向自己的數據庫。如果可能,我希望可以使用msdeploy部署一個包。然後將在每個集成測試項目的後期構建事件中調用它。我想從集成項目的後構建腳本中指定連接字符串和部署位置。

+0

您是否確實打算稍後將這些應用程序部署到另一臺服務器(這是WebDeploy的真正用途)還是僅僅是在本地主機上調試它們(在這種情況下,WebDeploy可能不是正確的工具) 。在任何情況下,端口綁定都是在網站級別定義的,而不是針對每個應用程序定義的,這就是您爲什麼首先遇到這些困難的原因。但是,如果你能澄清你的情況,那麼可能有些事情可以做。 – mthierba

回答

0

你可以嘗試webdev.server包含在Visual Studio。 VisualStudio在調試時使用它來啓動Web服務器。有了這個,你可以在需要的端口上啓動一個web服務器(如果這個端口目前沒有使用)。 我做了一個bat文件來改變一些選項。 檢查它。

::開始bat文件的

CD C:\ Program Files文件\ Common Files文件\微軟共享\ DevServer \ 10.0 \ WebDev.WebServer40.exe /端口:80 /路徑: 「C:\ PATHTOYOURWEBPROJECT」/VPATH: 「/ NAMEOFYOURWEBPROJECT」

:: bat文件結束

你可以在ACCES:http://localhost:80

我用的是webserver40,但如果你沒有net.4或VS2010你可以嘗試找到網絡服務器[xx版本] .exe

我希望這會對我有幫助,對不起我的英文破碎。

0

首先,你接近這個錯誤的方式。

>我想對每個測試項目,其 自己的數據庫連接訪問網站。

誰在創建數據庫連接?您的網站或測試項目?對於其他問題,我認爲它的網站(否則,項目A和項目B不能共享開箱即用的連接)。

如果您的網站進行連接,除非你緩存或者具有靜態連接,會有爲每個請求作出了新的連接運行在一個新的線程的網站。另一個更簡單的選擇是採取一個查詢參數並基於此建立一個新的連接。如果您將其從調用者中刪除,您還可以將其用於更詳細的日誌記錄。

Web部署項目旨在用於部署到集成服務器,因此這意味着您不能通過http://localhost...訪問它們,而是通過服務器的完整FQDN訪問它們。

最重要的是,http://localhost:82/myApphttp://localhost:83/myApp是兩個不同的站點(除非您從其中一個站點重定向到另一個站點本身可能導致其他問題)運行相同的代碼庫。

話雖如此,你需要兩次部署你的網站,然後你需要的只是改變項目A和B中的配置/設置項,以指向不同的站點。

希望這是有道理的。

相關問題