MVC Web Api错误403.14

时间:2017-08-07 14:00:42

标签: c# iis asp.net-web-api asp.net-web-api-routing

我正在做一个MVC5 Web API应用程序。我正在做一个简单的例子。

  1. 创建Web Asp.Net Web应用程序。

  2. 选择Empty和API。

  3. 然后我添加一个名为Home的Api2控制器,并添加一个名为Get()的简单方法

    方法Get()看起来像这样。

    public string Get()
    {
        return "Hello World";
    }
    

    我运行应用程序并完成URL。

    http://localhost:56464/Home/Get
    

    出错了

      

    错误HTTP 404.0 - 未找到

    我测试更改WebApiConfig添加

    {action}
    

    但我得到同样的错误。

    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
    
        // Web API routes
        config.MapHttpAttributeRoutes();
    
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
    

    当我启动应用程序http://localhost:56464/时,我收到此错误

      

    错误HTTP 403.14 - 禁止

    我总是从Visual Studio 2013运行应用程序。我没有将它发布到IIS

    缺少什么?

1 个答案:

答案 0 :(得分:0)

有一些问题。

首先,网络API路由模板是

api/{controller}/{action}/{id}

请注意api前缀。

这意味着您必须浏览

http://localhost:56464/api/Home/Get

http://localhost:56464/不会工作,因为该路由具有api前缀。所以禁止错误是该地址托管的默认值。

为了能够在问题中使用您需要的URL,您需要更改路径模板以匹配您想要的模板。