在Visual Studio中的同一端口上运行两个应用程序

时间:2014-05-06 06:43:30

标签: c# asp.net-mvc visual-studio-2010 asp.net-web-api

我在不同的端口运行了两个应用程序。

一个是:http://localhost:12345/

另一个是:http://localhost:50949/

  

现在我遇到了cors域名问题,所以我想在vs 2012中的相同端口号上运行这些应用程序

我该怎么办?

2 个答案:

答案 0 :(得分:4)

如果将Visual Studio配置为使用IIS,则可以配置both websites under a different Virtual Directory,这将允许您并排运行它们。它确实需要您正确设置路由,以了解ApplicationRoot和WebRoot之间的区别,并且您在各处使用HTML Helpers对象来设置链接中的路径。

如果需要,您还可以在IIS Express中配置虚拟目录,but I suspect you'll need to dive into the XML to make it work

答案 1 :(得分:1)

我在另一个选项中添加了另一个答案。使用完整的IIS有一些优点,但不是每个人都安装它,甚至可以选择安装它。默认情况下,Visual Studio将为每个项目分配端口并在IIS Express中创建它们。但是,您可以在项目属性中轻松覆盖它。

作为一个例子,我可能有两个看起来像这样的项目:

  1. MyNamespace.Web (目前正在侦听端口12345)
  2. MyNamespace.Web.Api (当前正在侦听端口54321)
  3. 当我部署这些时,我会在不同的虚拟目录中运行它们,如下所示:

      http://mysite/
    1. MyNamespace.Web {li> MyNamespace.Web.Api http://mysite/api
    2. 要在Visual Studio中使用IIS Express模仿,我可以转到 MyNamespace.Web.Api 的项目属性,并将项目URL(在“Web上”选项卡上的“服务器”下)更改为{{ 3}}并单击"创建虚拟目录"按钮。

      我的两个项目现在在IIS Express上运行,使用相同的端口,但在不同的虚拟目录中。