2017-08-07 90 views
1

我在做一个MVC5 Web API应用程序。我正在做一个简单的例子。MVC Web Api错误403.14

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

  2. 选择空和API。

然后我添加一个API2控制器称为Home,并添加一个名为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

缺少什么?

+0

这个问题解决了吗? – Nkosi

回答

0

有几个问题。

首先,网页API路径模板是

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

注意api前缀。

因此,这将意味着你必须浏览到

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

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

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