Asp.net mvc 4 Visual Studio 2010无法访问webapi项目

Asp.net mvc 4 Visual Studio 2010无法访问webapi项目,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,我已经用以下项目创建了一个解决方案 前端是mvc4 web应用程序,MyWebAPI是mvc4 webAPI 我希望能够从我的前端项目访问MyWebAPI控制方法。但它不起作用,因为它只抱怨在运行webAPI URL时找不到数据 我是否需要做更多的事情以便我的前端可以与MyWebAPI对话 例如,我只是尝试运行这个预生成的webAPI控制方法 public string Get(int id) { return "value"; } 找不到。但是,如果我将启动项目更改为MyWebAP

我已经用以下项目创建了一个解决方案

前端是mvc4 web应用程序,MyWebAPI是mvc4 webAPI

我希望能够从我的前端项目访问MyWebAPI控制方法。但它不起作用,因为它只抱怨在运行webAPI URL时找不到数据

我是否需要做更多的事情以便我的前端可以与MyWebAPI对话

例如,我只是尝试运行这个预生成的webAPI控制方法

public string Get(int id)
{
    return "value";
}
找不到。但是,如果我将启动项目更改为MyWebAPI,那么它就可以工作。所以我的问题是,如何使我可以从我的前端项目访问MyWebAPI

这个问题实际上与此相同,但它没有解释当webAPI位于同一个解决方案中时如何从前端访问它们

编辑

$(document).ready(function() {
            $("#clickMe").click(function() {
                var id = $("#dataBox").val();
                $.ajax({
                    url: "http://localhost:11982/api/Movie/GetMovie",
                    data: { id: id },
                    type: "get",
                    contentType: "application/json;charset=utf-8",
                    success: function(data) {
                        alert(data);
                    },
                    error: function(jqXHR, status, errorThrown) {
//                      alert("Error " + status + "\nError Thrown" + errorThrown + "\n" + jqXHR )

                    }
                })
            })
        })
更新2012-08-30

我在解决方案中更新了不同的软件包,其中包括WebAPI beta到WebAPI rc版本。现在由于某种原因,当我向任何一个WebAPI控制器发送表单请求或ajax请求时,对于表单请求响应,它会说没有找到这样的控制器,对于ajax请求,它将永远加载而不返回响应

有谁曾经经历过类似的问题


以前的解决方案是在本地IIS服务器上运行我的前端和MyWebAPI。但是,自从我更新了所有软件包后,它现在停止工作。

您的问题似乎是需要从Visual Studio同时运行前端和MyWebAPI项目。实际上,通过解决方案的一个有点模糊的启动选项,可以很容易地配置VisualStudio来实现这一点

在“解决方案资源管理器”窗格中的解决方案节点中单击鼠标右键(不是同名的项目节点)。从上下文菜单项中,选择“设置启动项目”。在对话框中,单击“多重启动项目”选项,并选择前端和MyWebAPI项目。单击“确定”保存选项。两个项目现在都应该在运行调试器时启动,MyWebAPI调用将响应前端。只需确保两个项目都在不同的端口上运行

更新:


Web API RTM中出现了突破性的变化。其中一个变化是用于提取
ApiController
操作参数的约定。看看新属性
FromUri
FromBody
是如何使用的

我现在试过了,但仍然不起作用。它们位于不同的端口,但同样的问题仍然存在。我可以从该项目中的视图访问webAPI。但是通过使用我前端的视图,我不能。我添加了用于获取数据的脚本,该脚本的行为听起来更像是路由配置的问题。要解决此问题,如果您的计算机上安装了IIS或IIS Express,则可以使两个项目作为单独的网站运行。从项目属性选项卡(双击项目中的属性节点)中,选择Web选项卡。选择“使用本地IIS Web服务器”并输入网站根目录的名称。Visual Studio将在IIS中为您创建网站。创建每个网站后,分别对其进行测试。如果可以的话,您应该可以使用网站URL从前端调用MyWebAPI URL。谢谢,现在可以了!我更改了这两个项目的web属性,使其在开发服务器上使用IIS。很抱歉,我重新发布了此问题。因为自从我更新了解决方案中的包后,它就停止工作了。如果我只需在web浏览器的地址栏中输入URL,就可以访问webapi。但是,如果我通过表单发送请求,或者如果我发送ajax请求,则它不起作用。