C# 即使路由正确,ASP.NET WebAPI控制器也不工作

C# 即使路由正确,ASP.NET WebAPI控制器也不工作,c#,asp.net-web-api,owin,C#,Asp.net Web Api,Owin,我的API控制器从未被实例化,尽管我已经多次确保我的路由应该是正确的 public void Configuration(IAppBuilder app) { var config = new HttpConfiguration(); config.Routes.MapHttpRoute("DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = Rou

我的API控制器从未被实例化,尽管我已经多次确保我的路由应该是正确的

public void Configuration(IAppBuilder app)
{
    var config = new HttpConfiguration();

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

     app.UseWebApi(config);
}
这就是我的控制器的外观:

class RaspberryController : ApiController
{
    public HttpResponseMessage Get()
    {
        return new HttpResponseMessage
        {
            Content = new StringContent("Test from Owin")
        };
    }
}

正如你所看到的,它非常简单。有什么可能是错误的?

我意识到我的控制器类是隐式的
内部的
,因为我没有另外指定。必须是
public
,Owin才能通过反射找到类。因此,它与路由无关

public class RaspberryController : ApiController
{
    public HttpResponseMessage Get()
    {
        return new HttpResponseMessage
        {
            Content = new StringContent("Test from Owin")
        };
    }
}