【问题标题】:MVC Web Api error 403.14MVC Web API 错误 403.14
【发布时间】:2018-01-14 20:53:26
【问题描述】:

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

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

  2. 选择 Empty 和 API。

然后我添加一个名为Home的Api2 Controller,并添加一个名为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 中发布它

缺少什么?

【问题讨论】:

  • 这个问题解决了吗?

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


【解决方案1】:

有几个问题。

首先是web api路由模板

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

注意api 前缀。

这意味着你必须浏览到

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

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

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

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    相关资源
    最近更新 更多