【问题标题】:Can I deploy two ASP.NET (MVC and WebApi) applications side-by-side?我可以并排部署两个 ASP.NET(MVC 和 WebApi)应用程序吗?
【发布时间】:2016-11-03 13:01:29
【问题描述】:

我正在开发一个 ASP.NET 项目。我们有两个主要项目,MVC 网站和一个 WebApi2 应用程序,它用于与数据库交互。 WebApi2 应用程序的所有路由都类似于“/api/Entity”,这样用户实际访问的主 MVC 站点将托管在域根目录(即 www.example.com)中,而能够在“www.example.com/api/Entity”访问 api。有没有办法在不进行大量 IIS 配置或更改路由的情况下做到这一点?

【问题讨论】:

  • 为什么不在同一个 Web 项目中使用它们?
  • 因为它们是独立的应用程序。我不希望他们像那样纠缠在一起。关注点分离。

标签: c# asp.net-mvc iis asp.net-web-api2


【解决方案1】:
  1. 您可以将它们放在同一个项目中。
  2. 您可以在 IIS 中创建一个名为 api 的应用程序,并更改 api 项目中的路由定义以删除 /api/。看起来不像是一堆配置/更改路线。

【讨论】:

  • 如果可以的话,我想避免做#1。我考虑过做#2,但这需要我改变我所有的路线,不过,大多数都是通过“RoutePrefix”完成的,所以不会太糟糕。虽然我的 API 中有些东西引用了它们的相对 url(使用 HAL+JSON),所以 API 本身确实知道它托管在 /api 上,所以我不太热衷于将它交给 IIS。不过我认为没有其他方法。
猜你喜欢
  • 2012-03-21
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
  • 2017-01-31
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多