Asp.net mvc WebAPI和MVC设置

Asp.net mvc WebAPI和MVC设置,asp.net-mvc,iis,asp.net-web-api,Asp.net Mvc,Iis,Asp.net Web Api,我在这方面做了很多搜索,我知道这是这个网站上的一个常见讨论点,但我找到的东西都不能回答我看似简单的问题 我的情况是,我有一个在IIS中运行的MVC web应用程序,我最近开始构建一个WebAPI,为底层数据模型提供一个CRUD接口 这些是VisualStudio中的独立项目,可以独立运行 我的问题是如何将它们部署到IIS以及如何进行配置 http;//myhost/Customers/Report 称之为MVC,但是 http//myhost/api/Customers/123 调用WebA

我在这方面做了很多搜索,我知道这是这个网站上的一个常见讨论点,但我找到的东西都不能回答我看似简单的问题

我的情况是,我有一个在IIS中运行的MVC web应用程序,我最近开始构建一个WebAPI,为底层数据模型提供一个CRUD接口

这些是VisualStudio中的独立项目,可以独立运行

我的问题是如何将它们部署到IIS以及如何进行配置

http;//myhost/Customers/Report
称之为MVC,但是

http//myhost/api/Customers/123
调用WebAPI

我见过各种部署WebAPI的示例,但它们在URL中悄悄地包含了不同的端口号。我想避免这样的事情

http//myhost:8080/api/Customers/123
对于MVC树中的IIS配置嵌套应用程序或虚拟目录,是否有一种通用模式

和/或

我是否需要在MVC应用程序的路由中添加一些代码以直接指向WebAPI应用程序

感谢您的帮助或推荐

仅供参考:下面是我读过的两个例子,但到目前为止我已经读了大约20篇文章


设置路由配置应该对您有所帮助。首先注册WebApi路由路径,然后注册MVC应用程序路由,以便使用WebApi处理API,如果不是API,则将其转到MVC控制器。这对我有用


这可能有助于创建虚拟目录。

感谢您的快速回复。这实际上缩小了我的问题范围。我的WebAPI项目的WebApiConfig.xml中有很多路由条目,是否需要将其移植到核心MVC项目配置中?我当然觉得我需要让MVC人员知道如何处理/api URL。不知道IIS是否通过发布项目对此进行了利用,即它是否以某种方式维护了主路由configWebApiConfig.xml=>WebApiConfig.csYes,如果两者都托管在同一台服务器上,则保留一个路由配置,因为首先注册的路由将首先处理您的请求。谢谢。我去四处看看,看看能不能搞定。在单独的应用程序池中运行WebAPI会有问题吗?如果这是我唯一能走的路,那就意味着这两个项目被捆绑在一起,这是一种耻辱。这不是唯一的路。您可以在服务器上创建不同的虚拟目录/应用程序。所有这些都将是IIS配置。是的,您可以将其保存在单独的应用程序池中。