【问题标题】:Run two Application on Same Port in Visual Studio在 Visual Studio 的同一端口上运行两个应用程序
【发布时间】:2014-05-06 06:43:30
【问题描述】:

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

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

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

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

我该怎么做?

【问题讨论】:

  • 如果您打开localhost,您希望看到什么页面?这不会同时工作,第一个使用该端口的应用程序获胜。
  • @NagarajS ,只有一个答案,我也看到了那个答案,但我不能得到那个答案 100% 正确?
  • @user256103 是的,你是对的 +1
  • @Robert,那么我该如何解决 cors 问题,bcs some peoples explained the cookies are does not send if you used different domain。所以我想在本地 Visual Studio 的同一域中运行我的两个应用程序。老兄,我该怎么做?

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


【解决方案1】:

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

例如,我可能有两个如下所示的项目:

  1. MyNamespace.Web(当前监听端口 12345)
  2. MyNamespace.Web.Api(目前正在监听端口 54321)

当我部署这些时,我会在不同的虚拟目录中运行它们,如下所示:

  1. MyNamespace.Webhttp://mysite/
  2. MyNamespace.Web.Apihttp://mysite/api

要使用 IIS Express 在 Visual Studio 中模拟这一点,我可以转到 MyNamespace.Web.Api 的项目属性并将项目 URL(在服务器下,在 Web 选项卡上)更改为 @987654323 @ 并单击“创建虚拟目录”按钮。

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

【讨论】:

    【解决方案2】:

    如果您将 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

    【讨论】:

    • 仅供参考:我总是使用 IIS 进行开发。每个项目一个虚拟目录。为了调试,我连接到进程而不是按 F5。这样可以更快地测试我的应用程序,而不必每次都从主页开始,而且我也不必等待调试器连接 - 除非我选择这样做。这种行为还有一个额外的好处;我学会了以一种使错误跟踪成为可能的方式编写日志。这在生产中是非常宝贵的。
    • 那么你可能也会喜欢 ReAttach:visualstudiogallery.msdn.microsoft.com/…
    • 我肯定会的。在 VS2012(?) 之前支持宏,很容易write one for connecting to IIS。附带说明:get macros back to VS 有力量。
    猜你喜欢
    • 2015-11-07
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 2017-12-12
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多