首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将web API后端和角前端调试为一个解决方案中的两个项目。

将web API后端和角前端调试为一个解决方案中的两个项目。
EN

Stack Overflow用户
提问于 2015-05-20 15:20:58
回答 2查看 4.6K关注 0票数 2

我在Visual 2013中有一个解决方案,它包含MVC、Web和contains。我已经设置了多个启动项目,因此两个项目在调试时都在同一时间启动。两者都启动OK,但它们运行在不同的端口上,因此前端无法从后端调用api。

前端的请求如下所示:

代码语言:javascript
运行
复制
$http.get("api/MenuItems").then(function(response) {
    //do something here
});

后端有这样的控制器:

代码语言:javascript
运行
复制
[RoutePrefix("api/MenuItems")]
public class MenuController : ApiController
{
    public IHttpActionResult Get()
    {
        return Ok(MenuItem.GetItems());
    }
}

我如何调试这个?我想在Web的控制器中设置断点,看到调试器在fron-趋向触发请求时停止,但是这种情况从未发生.我是不是遗漏了什么?

这是受教程使用AngularJS Web 2、Owin和标识进行ASP.NET令牌身份验证的启发

tutoprial的源代码是tjoudeh/AngularJSAuthentication

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-20 15:50:36

因为它们运行在不同的端口上,所以必须指定完整的url。一个完整的网址是http://host:port/address

因此,如果后端服务器位于端口80,则应该让api调用http://localhost:80/api/menuItems

当url是相对的,它将转到同一个主机,因此如果您的前端位于端口40,/api/menuItems引用http://localhost:40/api/menuItems

然后,如果您正在调试web,并且在控制器函数Get()的开头放置一个断点,那么您应该能够调试请求

票数 1
EN

Stack Overflow用户

发布于 2017-03-28 10:36:56

有一篇类似于此的文章。https://weblog.west-wind.com/posts/2011/Dec/15/Debugging-ApplicationStart-and-Module-Initialization-with-IIS-and-Visual-Studio

基本上,如果您希望能够同时调试AngularJS和MVC服务器端代码( Visual中的F5),则需要在IIS中配置网站。因此,服务器端和客户端可以调用相同的域(而不是使用端口)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30353903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档