我在Visual Studio 2013中使用asp.net mvc迈出了第一步,我遇到了一个奇怪的问题。
我将我的项目作为MVC启动,并没有检查“Web API”框以包含核心参考。但是现在我想使用Web API功能。我创建了一个新的“somethingController”控制器,选择了API控制器(空),Visual Studio做了它的魔术,创建了一个路由文件等。
然而,当试图访问URL / api / something / I geta 404时。我相信路由不起作用或者还有其他一些我还没想过的问题......
如果我创建一个新项目并检查“Web API”框,它可以正常工作。但是如果你有一个更大的项目并想要添加Web API功能,那么必须有一种简单的方法可靠地将它添加到项目中,对吗?
请有人解释
a)问题在哪里(路由?缺少引用?还有其他什么?)
和
b)如何可靠地将Web API内容添加到未选中复选框的项目中。
非常感谢。
答案 0 :(得分:4)
好的,我觉得我的工作正常。将第一个API控制器添加到未选中Web API的项目时,会弹出一个自述文件,其中包含一些其他信息:
我尝试添加
WebApiConfig.Register(GlobalConfiguration.Configuration);
到global.asax并且它不起作用。自述文件显示以下代码
GlobalConfiguration.Configure(WebApiConfig.Register);
是的,虽然看起来(对我来说)这两条线完全相同的东西吗?
答案 1 :(得分:1)
您是否添加了WebApi.Config
文件
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
在global.asax
中添加此内容WebApiConfig.Register(GlobalConfiguration.Configuration);