【问题标题】:Is it possible to make WebApI project and MVC project work in same port是否可以让 WebApI 项目和 MVC 项目在同一个端口工作
【发布时间】:2013-10-15 18:03:59
【问题描述】:

我有一个 MVC 4.0 项目。结构是这样的。

MySolution   
   BLL
   DAL
   MyProj
   MyAPIProj

DAL 包含.edmxBLL 包含与 DAL 对话的服务和模型以保留数据。 MyProj 有控制器和视图。此外,它还引用了 DAL 和 BLL。

上述所有项目都在一个解决方案下。

现在的要求是:我们正在尝试使用 Web API 创建一个新的抽象层。而不是MyProj 中的控制器与BLL 对话,我们想要创建一个WebAPI,Myproj 将调用WebApi,在基本验证之后WebApi 将与BLL 对话并基于输入由BLL 收到的响应将被发送回WebAPI,然后再发送给MYProj

现在从MyProj 我正在对MYAPIProj 进行.ajax 调用,在MYAPIProj 中我参考了BLL 和DAL。我的问题是 我需要两个应用程序使用相同的端口。有没有办法在 Visual Studio 中做到这一点? 如果不是,那么让它在本地工作的最佳方法是什么。

【问题讨论】:

  • 您不能让两个应用程序同时在同一个 IP 上的同一个端口上侦听。不过,您也许可以使用 IIS 配置让它们在不同的虚拟目录下运行。
  • Web API 和 MVC 只有在您将它们作为不适合您的解决方案架构的同一个项目托管时才能使用相同的端口。如果您将它们构建为两个不同的项目,那么不幸的是,DigitalID 所写的是正确的。

标签: asp.net-mvc-4 asp.net-web-api


【解决方案1】:

您可以在 IIS 中(本地和服务器上)使用主机标头并执行以下操作:

app.mydomain.com
api.mydomain.com

IIS 7 中的主机标头:http://technet.microsoft.com/en-us/library/cc753195(v=ws.10).aspx

或者您可以将 API 创建为您的主应用程序中的应用程序,如下所示:

api.mydomain.com/service/ (where service is the application)

【讨论】:

    猜你喜欢
    • 2014-01-12
    • 2016-12-03
    • 1970-01-01
    • 2010-11-28
    • 2017-10-13
    • 2023-03-31
    • 2019-10-17
    • 2016-09-08
    • 2021-03-19
    相关资源
    最近更新 更多