是否可以在独立于 Web Api 项目的 MVC 项目中使用控制器?

Posted

技术标签:

【中文标题】是否可以在独立于 Web Api 项目的 MVC 项目中使用控制器?【英文标题】:Is it possible to use the Controllers in a separate MVC project from a Web Api project? 【发布时间】:2021-09-08 05:46:28 【问题描述】:

我对 API 工作还很陌生。我有一个使用 OWIN 自托管的 ASP.NET Web API 项目。然后我为我的 API 创建了一个带有控制器和后端工作的单独 ASP.NET MVC 5 项目。我在这个项目中没有视图,因为我不需要,我只是从端点返回 JSON 数据。我发现我的程序 MVC 控制器/路由的路由效果更好。最初尝试在我的 Web Api 项目中使用 ApiController 控制器时,我遇到了很多令人头疼的问题,试图使路由正常工作。就路由而言,MVC 对我来说是开箱即用的。

那么,从我的自托管 Web API 项目运行时,我如何联系这些位于单独 MVC 项目中的控制器/路由?我读到自托管 MVC 不起作用,所以我试图找出解决方法。

【问题讨论】:

【参考方案1】:

是的,您可以将 asp.net mvc 项目和 asp.net web api 项目分开。在 Visual Studio 中同时运行多个项目。在项目解决方案上点击下面的链接。

https://www.chroscielski.pl/run-multiple-projects-in-visual-studio-at-once/

【讨论】:

这显示了如何同时运行两个项目,但我想知道如何让我的 Web API 项目进行通信/使用我在单独的 MVC 项目中设置的控制器。

以上是关于是否可以在独立于 Web Api 项目的 MVC 项目中使用控制器?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将自定义错误页面与 MVC 站点一起使用,但不能在 Web API 中使用?

Web API 身份验证(无 asp.net 身份)

web api

再说表单验证,在Web Api中使用ModelState进行接口参数验证

编写适用于 MVC 和 Web API 请求的过滤器

Web项目开发为何要走前后端分离模式?