【问题标题】:Asp.net WebAPI Gives error No HTTP resource was found that matches the request URIAsp.net WebAPI 给出错误未找到与请求 URI 匹配的 HTTP 资源
【发布时间】:2017-04-10 16:09:42
【问题描述】:

我的应用程序是经典的 Asp.Net 应用程序,而不是 MVC。现在我想给它添加 ApiController。

我添加了以下 API 控制器

public class AlfrescoController : ApiController
{
    [System.Web.Http.Route("api/alfresco")]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET api/<controller>/5
    public string Get(int id)
    {
        return "value";
    }

    // POST api/<controller>
    public void Post([FromBody]string value)
    {
    }
}

我在 Global.asax 中的路由代码如下所示,

protected void Application_Start(object sender, EventArgs e)
{
    RouteTable.Routes.MapHttpRoute(
              name: "DefaultApi",
              routeTemplate: "api/{controller}/{id}",
              defaults: new { id = System.Web.Http.RouteParameter.Optional }
              );

}

现在当我尝试请求 http://localhost:52182/api/alfresco/ 时,它给了我以下错误,

此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。 未找到与请求 URI 'http://localhost:52182/api/alfresco/' 匹配的 HTTP 资源。 找不到与名为“alfresco”的控制器匹配的类型。

如果我在这里做错了什么,请告诉我,我已经尝试了 stackoverflow 中的所有解决方案,但似乎没有任何效果

【问题讨论】:

    标签: asp.net asp.net-web-api


    【解决方案1】:

    将 Global.asax.cs 中的代码更改为:

    protected void Application_Start(object sender, EventArgs e)
    {
        GlobalConfiguration.Configure(Register);
    }
    
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes(); //Will have preference over the default route below
    
        config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
        );
    }
    

    “MapHttpAttributeRoutes”是 Nuget 包中可用的扩展方法:“Microsoft.AspNet.WebApi.Core”。所以你必须先安装它。

    【讨论】:

      猜你喜欢
      • 2018-09-02
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      相关资源
      最近更新 更多