在localhost上运行时从另一个项目查询MVC Web Api

时间:2014-04-15 14:50:14

标签: asp.net-mvc asp.net-web-api

我有一个包含许多项目的Vis Stu解决方案。其中两个项目是

MVC Web Application (Views, JS, CSS)
MVC Web API

由于这些是他们自己的项目,我需要一种通过我的Web应用程序查询Web Api的方法。

在JS中我有一个试图从Web Api获取数据的函数

get: function (id) {
    var url = 'api/Employee/' + id;
    var httpRequest = new XMLHttpRequest();
    httpRequest.onreadystatechange = function (data) {
        return data;
    };
    httpRequest.open('GET', url);            
    httpRequest.send();
}

如果我构建Api解决方案并将其localhost地址添加到ajax url(http://localhost:50475/api/Employee/3),我会得到通常的Cross Origin Not Allowed问题。

在我开发过程中,有没有办法从另一个来源连接到这个Api?

2 个答案:

答案 0 :(得分:1)

您是否尝试过向项目添加程序集引用?这将使项目在开发中彼此可访问。

在视觉工作室: 1.转到需要访问API项目的项目 2.右键单击引用 3.添加参考 4.在“解决方案”下,选择您要访问的项目的名称。

答案 1 :(得分:0)

我认为它是因为Visual Studio默认分配给他们的WebApi和MVC项目的不同端口。您可以更改默认端口绑定,您应该为这两个应用程序设置一个唯一端口。右键单击project => properties => web并设置端口。