
步骤 1:安装必要的 NuGet 包
右键项目 -> 管理 NuGet 程序包,安装4.0.3056版本
搜索并安装 Microsoft.AspNet.WebApi(核心包)
安装 Microsoft.AspNet.WebApi.WebHost(Web 宿主支持)

配置 Web API 路由
配置 Web API 路由,打开 Global.asax 文件,在 Application_Start 中添加 Web API 路由。
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Http" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
var config = GlobalConfiguration.Configuration;
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
config.Services.Replace(
typeof(System.Web.Http.Dispatcher.IHttpControllerActivator),
new System.Web.Http.Dispatcher.DefaultHttpControllerActivator()
);
}

添加 Web API 控制器
创建一个简单的控制器 在App_Code文件加,添加TestController.cs
using System;
using System.Web.Http;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.Text;
public class TestController : ApiController
{
[HttpPost]
public void GetFDSFDSFDS(LoginModel model)
{
var data = new { status = model.Name, Email = model.Email };
var json = JsonConvert.SerializeObject(data);
var response = System.Web.HttpContext.Current.Response;
response.ContentType = "application/json";
response.ContentEncoding = Encoding.GetEncoding("utf-8");
response.Write(json);
response.End();
}
[HttpGet]
public void Get(string id)
{
var response = System.Web.HttpContext.Current.Response;
response.ContentType = "application/json";
response.ContentEncoding = Encoding.GetEncoding("utf-8");
response.Write("id="+id);
response.End();
}
}
public class LoginModel
{
public string Name { get; set; }
public string Email { get; set; }
}

配置 Web.config
(关键)
在 <system.webServer>
节点下添加以下配置,确保路由正确处理:
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0"
path="api/*"
verb="*"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
验证是否成功
访问以下 URL: