Visual studio 2010 如何使用web deploy在具有不同端口的localhost上部署多个站点

Visual studio 2010 如何使用web deploy在具有不同端口的localhost上部署多个站点,visual-studio-2010,msdeploy,webdeploy,Visual Studio 2010,Msdeploy,Webdeploy,我有一个包含多个集成测试项目和一个web应用程序项目的解决方案。运行测试时,每个集成项目都连接到web应用程序。我想为每个测试项目访问自己的数据库连接的网站。我一直在尝试使用VisualStudio内置的web部署功能。但是,我无法确定需要向创建的部署包和/或测试项目的构建后事件添加什么,以便在部署时声明网站的绑定端口。例如,我希望集成项目A创建并访问位于的网站,集成项目B创建并访问位于的网站。请有人解释一下: 部署包中有什么我需要做的吗 部署包时,我需要在集成项目的生成后事件中添加哪些内容,以

我有一个包含多个集成测试项目和一个web应用程序项目的解决方案。运行测试时,每个集成项目都连接到web应用程序。我想为每个测试项目访问自己的数据库连接的网站。我一直在尝试使用VisualStudio内置的web部署功能。但是,我无法确定需要向创建的部署包和/或测试项目的构建后事件添加什么,以便在部署时声明网站的绑定端口。例如,我希望集成项目A创建并访问位于的网站,集成项目B创建并访问位于的网站。请有人解释一下:

  • 部署包中有什么我需要做的吗
  • 部署包时,我需要在集成项目的生成后事件中添加哪些内容,以便在生成项目时在正确的端口创建网站 更新: 我希望将同一个站点部署到我机器上的两个不同位置,以便可以同时运行两组集成测试

    更新2: 我研究了web部署工具,它允许您指定参数,当您从命令行调用它时,这些参数可以修改部署的内容。但是,我发现文档非常混乱

    更新3:
    我预计这将是两个不同的网站,每个网站都指向自己的数据库。如果可能的话,我想要一个可以使用msdeploy部署的包。然后将在每个集成测试项目的构建后事件中调用。我想从集成项目的生成后脚本中指定连接字符串和部署位置。

    您可以定义虚拟主机配置。
    有关更多信息,请参阅本指南


    您可以尝试使用visual studio中包含的webdev.server。VisualStudio在调试时使用此选项启动Web服务器。使用此选项,您可以在所需端口(如果当前未使用该端口)中启动Web服务器。 我制作了一个bat文件来更改一些选项。 检查一下

    ::bat文件的开头

    cd C:\Program Files\Common Files\microsoft shared\DevServer\10.0\ WebDev.WebServer40.exe/port:80/path:“C:\PATHTOYOURWEBPROJECT”/vpath:“/NAMEOFYOURWEBPROJECT”

    ::bat文件的结尾

    您可以访问:

    我使用webserver40,但如果您没有net.4或vs2010,则可以尝试查找webserver[xx version].exe


    我希望这会有帮助,并为我的蹩脚英语感到抱歉。

    首先,你走错了方向

    >我想为每一个测试项目访问其网站 自己的数据库连接

    谁在创建数据库连接?您的网站还是测试项目?为了让您的问题的其余部分有意义,我假定它是web站点(否则,项目A和项目B不能共享开箱即用的连接)

    如果您的网站正在建立连接,除非您正在缓存或具有静态连接,否则当每个请求在新线程上运行您的网站时,将建立一个新连接。另一个更简单的选择是获取一个查询参数并基于该参数启动一个新连接。如果您从调用者那里获得它,还可以使用它进行更详细的日志记录

    Web部署项目用于部署到集成服务器,因此这意味着您无法通过
    http://localhost...
    但是服务器的完整FQDN

    最重要的是,
    http://localhost:82/myApp
    http://localhost:83/myApp
    是两个不同的站点(除非您从一个站点重定向到另一个站点,这本身可能会导致其他问题),运行相同的代码库

    话虽如此,您需要部署两次网站,然后只需更改项目A和B中的config/settings条目,将它们指向不同的站点


    希望这有意义。

    这是关于在visual studio中使用web部署功能的。它甚至与Java无关您是否真的打算稍后将这些应用程序部署到另一台服务器上(这就是WebDeploy的真正用途),或者这仅仅是为了在localhost上调试它们(在这种情况下,WebDeploy可能不是合适的工具)。在任何情况下,端口绑定都是在站点级别定义的,而不是每个应用程序定义的,这就是为什么您首先会遇到这些困难的原因。但如果你能澄清你的情况,也许可以做点什么。