首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找不到WebApi控制器

找不到WebApi控制器
EN

Stack Overflow用户
提问于 2015-12-06 19:30:48
回答 2查看 47关注 0票数 1

我的WebApi-project中有一个示例控制器:

代码语言:javascript
复制
public class MilestonesController : ApiController
{
    // GET api/milestones
    public IEnumerable<string> Get()
    {
        return new string[] { "M#1", "M#2" };
    }

    // GET api/milestones/5
    public string Get(int id)
    {
        return "M with {id}";
    }

    // POST api/milestones
    public void Post([FromBody]string value)
    {
    }

    // PUT api/milestones/5
    public void Put(int id, [FromBody]string value)
    {
    }

    // DELETE api/milestones/5
    public void Delete(int id)
    {
    }
}

如果我尝试导航到它:

http://localhost:59493/api/milestones

我总是得到这样的错误:

代码语言:javascript
复制
No HTTP resource was found that matches the request URI 'http://localhost:59493/api/milestones'.

No type was found that matches the controller named 'milestones'.

提前谢谢你!

编辑:

我的WebApiConfig:

代码语言:javascript
复制
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

Global.asax:

代码语言:javascript
复制
public class WebApiApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
}

可能的解决方案:

我已经删除了我的项目,并且创建了一个新的项目(WebAPi项目),现在它可以工作了。WebApiConfig等都是一样的,所以我真的不知道我第一次尝试出了什么问题

EN

Stack Overflow用户

发布于 2015-12-06 19:52:02

看看你在哪里创建了这个控制器。可能它不在控制器文件夹中,不同的命名空间,或者该控制器类嵌套在另一个类中

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34116920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档