asp.net-web-api - 在同一个解决方案中测试 WebAPI 和前端?

标签 asp.net-web-api asp.net-core

我正在构建一个 WebAPI 和一个调用 Web API 中的服务的前端。看起来从前端调用WebAPI函数的唯一方法是在前端进行调用时让WebAPI在IIS中运行。

这意味着不可能在同一个项目中调试 WebAPI 和前端,因为 Visual Studio 一次只能运行和调试一个项目(除非我弄错了?)

我正在使用一种解决方法,将 WebAPI 项目作为前端的引用,以及数据库连接字符串和依赖注入(inject),否则它会在启动时调用。

现在设置工作正常,我可以从同一解决方案调试 webapi 和前端。

当需要拆分 webapi 和前端并部署它们时,这有什么缺点吗?

最佳答案

Visual Studio 已经支持这一功能一段时间了。这也是该工具的一个很好的功能。

假设您有一个解决方案,其中包括 MVC Web 应用程序和 MVC 应用程序调用的 API 应用程序。为了能够同时调试 2 个应用程序,请打开解决方案属性,然后在“通用属性/启动项目” Pane 中选择“多个启动项目”选项。将 MVC 和 API 项目 Action 设置为 Start。您可能希望将 API 项目设置为在 MVC 项目之前启动,因为那里存在依赖关系。

只要将每个启动的项目配置为在不同的端口号上运行,它们之间就不应该有任何冲突。

您可以通过打开每个项目的“项目属性”并转到“调试”选项卡来确认端口不冲突。查看Web 服务器设置下的应用程序 URL 设置。默认值为http://localhost:{port}/;不同项目的端口会有所不同。只需确保这两个项目没有使用相同的端口号即可。

调试愉快!

关于asp.net-web-api - 在同一个解决方案中测试 WebAPI 和前端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949151/

相关文章:

c# - ASP.NET MVC Core 3.0 - 为什么来自主体的 API 请求不断返回!ModelState.IsValid?

.Net Core DebugDiag 等价物

reactjs - 一段时间后,身份验证 cookie 在 react SPA 中消失

model-view-controller - 在自定义中间件中访问 TempData

android - 在 HTTP 请求中附加应用程序(Android/Iphone/Windows)版本?

ASP.NET Web API : OAuth service provider

c# - 如何在 Web API 中支持空 RouteAttribute?

c# - SignInAsAuthenticationType 是否允许我在不覆盖现有声明的情况下获取 OAuth token ?

c# - ASP.NET Core RC2 区域未发布

asp.net - 禁止 Razor Pages 属性的验证属性