我刚刚添加了一个新的ApiController到我的ASP.NET MVC4项目(我已经有一个ApiController也在Controllers文件夹中),名为ServerInfoController。我使用CRUD模板选项创建了它;下面是它的样子:ASP.NET Web API返回代码404与新创建的ApiController
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebFrontend.Models;
namespace WebFrontend.Controllers
{
public class ServerInfoController : ApiController
{
// GET api/serverinfo
public Dictionary<string, string> Get()
{
var settings = GlobalStaticVars.StaticCore.LoadServerSettings("Last", "Server");
if (settings != null)
{
return new Dictionary<string, string>
{
{"ServerIP", settings.Address},
{"ServerPort", settings.Port.ToString()}
};
}
return new Dictionary<string, string>
{
{"ServerIP", ""},
{"ServerPort", ""}
};
}
}
}
但是,每次我尝试导航到浏览器中的资源时,都会收到404错误。我知道我的路由已正确注册,因为我的其他控制器仍然可以在/ api端点访问。
以下是在WebApiConfig.cs配置(这是缺省路由)的路由:您不需要在路由{}行动部分
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
您可以显示您的网络API的路线?此外最新的网址你打电话。 – gdp 2013-03-07 20:55:15
完成。我在上面添加了它。此外,我打电话的URL将是类似于http:// localhost:66555/api/serverinfo – wibarr 2013-03-07 20:56:40