我在VS 2010中有一个ASP.NET MVC应用程序。我为我的应用程序添加了一个新的Web API控制器。下面是一个简单的方法,我试图调用:将Web API控制器部署到产品
public List<Article> Get()
{
using (var db = new HighOnCodingDbEntities())
{
var articles = (from a in db.Articles
select a).Take(10).ToList();
return articles;
}
}
的Global.asax:
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
当我把这个方法我得到“未找到资源”。我已经发布了应用程序二进制文件,我相信这是我需要做的。
网址应为:http://www.highoncoding.com/api/articlesapi
ArticlesAPIController.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using HighOnCoding.Models;
namespace HighOnCoding.Controllers
{
public class ArticlesAPIController : ApiController
{
// GET api/<controller>
public List<Article> Get()
{
using (var db = new HighOnCodingDbEntities())
{
var articles = (from a in db.Articles
select a).Take(10).ToList();
return articles;
}
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post(string value)
{
}
// PUT api/<controller>/5
public void Put(int id, string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
}
作品在本地机器上:
你是如何定义路线的?你在打什么网址?老实说,你认为我们如何回答404不知道这些细节的问题? – Aliostad 2012-07-05 16:43:57
用更多信息更新了问题! – azamsharp 2012-07-05 17:12:16
如何调用包含此方法的控制器? – 2012-07-05 17:24:57