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

Asp.net web api 在同一解决方案中测试WebAPI和前端?,asp.net-web-api,asp.net-core,Asp.net Web Api,Asp.net Core,我正在构建一个WebAPI和一个在WebAPI中调用服务的前端。从前端调用WebAPI函数的唯一方法似乎是在前端进行调用时让WebAPI在IIS中运行 这意味着不可能在同一个项目中调试WebAPI和前端,因为VisualStudio一次只能运行和调试一个项目(除非我弄错了?) 我正在使用一种变通方法,在前端包括WebAPI项目作为参考,以及数据库连接字符串和依赖注入,否则它在启动时会调用它们 安装现在运行良好,我可以从同一个解决方案调试webapi和前端 当需要拆开webapi和前端并部署它们时

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

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

我正在使用一种变通方法,在前端包括WebAPI项目作为参考,以及数据库连接字符串和依赖注入,否则它在启动时会调用它们

安装现在运行良好,我可以从同一个解决方案调试webapi和前端


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

这是Visual Studio支持了一段时间的东西。这也是该工具的一个很好的特性

假设您有一个包括MVC web应用程序和MVC应用程序调用的API应用程序的解决方案。为了能够同时调试2个应用程序,请打开解决方案属性,并在“公用属性/启动项目”窗格上选择“多个启动项目”选项。将MVC和API项目操作设置为开始。您可能希望将API项目设置为在MVC项目之前启动,因为存在依赖关系


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

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


调试愉快

这是VisualStudio一段时间以来一直支持的东西。这也是该工具的一个很好的特性

假设您有一个包括MVC web应用程序和MVC应用程序调用的API应用程序的解决方案。为了能够同时调试2个应用程序,请打开解决方案属性,并在“公用属性/启动项目”窗格上选择“多个启动项目”选项。将MVC和API项目操作设置为开始。您可能希望将API项目设置为在MVC项目之前启动,因为存在依赖关系


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

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


调试愉快

关于在VS:中调试多个项目的假设是错误的。这个工具已经能够解决这个问题有一段时间了。这也适用于VS 2017。@R.Richards ah yep这看起来像是一个legitamite解决方案,不幸的是,当我执行“TypeError:Failed to fetch”时,我的webapi调用开始失败,所以不确定这是否是该方法的限制或其他限制。只要您将每个项目配置为在不同的端口号上运行,他们之间不应该有任何冲突。@R.Richards我仔细研究了你所描述的,这正是我想要的。请随意将其作为答案发布,我会将其标记为答案。您在VS中调试多个项目的假设是错误的:。这个工具已经能够解决这个问题有一段时间了。这也适用于VS 2017。@R.Richards ah yep这看起来像是一个legitamite解决方案,不幸的是,当我执行“TypeError:Failed to fetch”时,我的webapi调用开始失败,所以不确定这是否是该方法的限制或其他限制。只要您将每个项目配置为在不同的端口号上运行,他们之间不应该有任何冲突。@R.Richards我仔细研究了你所描述的,这正是我想要的。请随意将其作为答案发布,我会将其标记为答案。