在 asp.net C# 应用程序中添加 webapi 控制器
第 1 步:使用 Add New Item 流程添加新的 webapi 控制器
第 2 步:添加 PaymentController
public class PaymentController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post([FromBody]string value)
{
}
// PUT api/<controller>/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
第 3 步:在 Global.asax.cs 文件中的 Application_stat 方法中添加路由信息
使用命名空间添加:
using System.Web.Http;
using System.Web.Routing;
protected void Application_Start(Object sender, EventArgs e)
{
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
}
第 4 步:运行应用程序,它会引发以下异常:
尝试通过安全透明方法“DebtFREE.Global.Application_Start(System.Object, System.EventArgs)”访问安全关键字段“System.Web.Http.RouteParameter.Optional”失败。
程序集 'DebtFREE, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 标记有 AllowPartiallyTrustedCallersAttribute,并使用 2 级安全透明模型。 2 级透明度会导致 AllowPartiallyTrustedCallers 程序集中的所有方法默认变为安全透明,这可能是此异常的原因。
第 5 步:转到 AssemblyInfo.cs (Bin/Properties/AssemblyInfo.cs) 并在下面的行注释。
[程序集:AllowPartiallyTrustedCallers]
第 6 步:干杯,运行应用程序并浏览 url:http://localhost:2071/api/payment
API 正在与 aspx (asp.net) 应用程序一起工作。