【发布时间】:2016-05-12 16:21:11
【问题描述】:
我已经使用 SSO 创建了一个 mvc 应用程序。我添加了一个 Api 控制器,但每当我尝试从中获取数据时,都会出错。
URI=https://localhost:44305/api/graph/get
错误: “/”应用程序中的服务器错误。 无法找到该资源。 说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL:/api/graph/get 这是我的路线配置
public class RouteConfig
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapRoute(
// name: "Default",
// url: "{controller}/{action}/{id}",
// defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.MapRoute(
name: "Default",
url: "api/{controller}/{action}/{id}",
defaults: new { controller = "Graph", action = "Get", id = UrlParameter.Optional }
);
}
}
这是我的网络 api 控制器
public JsonResult<List<Claim>> Get()
{
var principal = (User as ClaimsPrincipal);
List<Claim> claimsList = new List<Claim>();
foreach (var claim in principal.Claims)
{
claimsList.Add(claim);
}
return Json<List<Claim>>(claimsList);
}
没有收到任何构建错误。任何帮助表示赞赏
【问题讨论】:
-
@Stefan 浏览器显示“应用程序中的服务器错误“/”。找不到资源
-
你能看到被请求的http地址吗?
-
尝试打开 Windows
Event Viewer应用程序并查看Windows Logs\Application。您应该会在其中看到任何与 ASP.NET 相关的错误,这可能会提示您网站的问题所在。 -
@Stefan 没有写请求的 url:graph/get
-
为什么在
MVC路由配置中设置api路由而不是WebApiConfig.cs?
标签: c# asp.net-mvc visual-studio asp.net-mvc-5 asp.net-web-api2