2

我在 VS 2010 中有一个 ASP.NET MVC 应用程序。我在我的应用程序中添加了一个新的 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; 
            }

        }

全球.asax:

routes.MapHttpRoute(
    name: "API Default",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

当我调用此方法时,我得到“找不到资源”。我已将应用程序二进制文件发布到生产环境中,我相信这就是我需要做的。

网址应为:http ://www.highoncoding.com/api/articlesapi

文章APIController.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)
        {
        }
    }
}

在本地机器上工作:

在此处输入图像描述

4

1 回答 1

2

在生产中,确保您网站的 IIS7 应用程序池的 .NET Framework 版本在集成模式下设置为 .NET 4.0.xxx。

于 2012-07-07T19:25:39.280 回答