如何在同一解决方案中从MVC项目调试Web API项目

时间:2013-05-13 18:01:32

标签: asp.net asp.net-mvc visual-studio-2012 asp.net-web-api

在VS 2012中,我正在尝试使用jQuery调用Web API项目来创建MVC 4 Web应用程序。 (其他开发人员将使用我们当前的本机应用程序来使用API​​,并且可能在将来添加到API中。)因此,我有一个项目是Web API,另一个项目是MVC 4网站。我只能设置其中一个运行,并使用localhost:xxxxx。

如何调试两者的更改?例如,假设我添加一个新的API路径/ api / customer / get,然后对该路径添加一个新的jQuery ajax调用,并对生成的JSON执行某些操作。我已经改变了两个项目中的代码,并希望端到端地遵循它;我该如何推出?我该如何调试两者?

为了清楚起见,MVC应用程序没有对API进行服务器端调用,我使用MVC主要是为了能够轻松地使用捆绑,缩小和(希望)预编译的Handlebars模板。净; API调用来自jQuery。由于我对这些技术还比较陌生,因此欢迎提出其他建议。

提前谢谢。

3 个答案:

答案 0 :(得分:69)

我遇到了同样的问题,并从此处找到了解决方案:

forums.asp.net

修复方法是执行以下操作:

在解决方案文件中,单击属性转到“启动项目”节点(如果尚未选中)

接下来选择多个启动项目。选择您的网站和您的网络服务,并在“操作”列中确保他们都有"开始"地选择。

现在,当您调试网站并在网络服务中设置断点时,它应该会达到断点。

答案 1 :(得分:1)

聚会迟到但是如果其他人正在寻找解决方案,这对我来说是最好的:将Api项目设置为启动项目(我需要限制为一个启动以便我可以翻转浏览器之间更容易)。启动服务项目后,右键单击web / ui项目并选择debug,启动新实例。你将同时运行,你将无缝地从网络步骤到api。

答案 2 :(得分:0)

我的web api项目遇到了类似的问题。我的解决方案包括一个有角度的前端,后端有2个web api项目。一个web api项目处理了#34;授权"另一个处理了资源"。我使用Taiseer Joudeh的以下教程作为起点:

http://bitoftech.net/2014/09/24/decouple-owin-authorization-server-resource-server-oauth-2-0-web-api/

断点适用于"授权服务器" ...但不在"资源服务器"上。我比较了两个项目的包,看看有什么不同。一旦我添加了#34; Microsoft.AspNet.WebApi.Cors"到资源服务器"项目,断点开始工作。

相关问题