【发布时间】:2014-05-07 22:27:28
【问题描述】:
我在 asp.net WebForms 应用程序中配置 WebApi 路由时遇到了一些问题。
在global.asax 文件中,我有这样的内容:
void Application_Start(object sender, EventArgs e)
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
我有另一个包含此代码的文件:
using System.Web.Http;
namespace WebConfig
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}",
defaults: new { id = System.Web.Http.RouteParameter.Optional });
}
}
}
然后,在根目录中,我有一个名为 api 的文件夹,在该文件夹中我有一个文件,其中包含一个看起来有点像这样的类:
public class MyController : ApiController
{
[Route("MyController")]
[HttpPost]
public HttpResponseMessage Post([FromBody]string value)
{....}
最后,在我的客户端代码中,我有这个 ajax 调用:
$.ajax({
url: "/api/MyController",
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "json",
cache: "false",
data: someData});
但是,当我运行此代码时,我得到的只是 404 错误。我需要在路由机制中进行哪些更改才能使其正常工作?
【问题讨论】:
-
顺便说一句,您所说的用于 asp.net WebForms 的 WebAPI 是什么意思?自 vs2013 以来,我们对所有 Web 应用程序(WebForms、MVC、WebAPI)使用一种类型的项目
-
我没有使用网络应用程序,只是一个网站。
标签: c# ajax asp.net-web-api