如何在同一地址上托管Web API和MVC应用程序

时间:2018-12-27 17:22:26

标签: .net api iis model-view-controller hosting

我有一个.NET解决方案,其中有两个项目用于MVC应用程序,另一个用于API。

我需要有关IIS托管的帮助,在这里我可以将两个应用程序部署在同一服务器上,而无需更改地址或端口。

我想以这种方式托管两个应用程序,这样就无需在MVC应用程序中更改API ajax网址。我的意思是

在MVC中,为了调用Web API,我使用了ajax调用(URL:“ / api / LoginAPI / CheckUser”) 注意:我在应用程序上有50多个ajax调用。

我想通过简单地添加“ / API /”作为后缀来进行Ajax调用,它应该能够调用我的API并按预期结果进行响应,而不会出现任何问题(找不到API或路径不正确)

我确信这是有可能的,但是需要更多专家建议,以确保我以正确的方式思考。

请提供您宝贵的反馈意见。

1 个答案:

答案 0 :(得分:1)

正如您所说,您有两个项目,一个是API,第二个是MVC。 API项目还支持所有.net MVC功能,就像它提供了MVC的所有默认引用(库引用)一样。 API project includes all MVC dll by default

第一种方式

您只需复制API项目中的以下元素。

所有型号, 控制器 所有检视 所有CSS文件 所有JS文件 所有mvc项目的引用,并将其提供给API项目。

也不要忘记将其包含在您的项目中。这将适用于创建这个单个项目。

第二路

只需构建您的MVC项目并参考API Project即可。 和移动 观看次数 的CSS JS 在您的API项目中。

第三种方式。

您可以创建虚拟目录以在单个域上具有两个应用程序。