【问题标题】:How to Add API controller (Web API 2) in Asp.Net (aspx) application C#如何在 Asp.Net (aspx) 应用程序 C# 中添加 API 控制器 (Web API 2)
【发布时间】:2017-04-28 15:28:09
【问题描述】:

我在 .net 框架 4.5 上有一个 asp.net (aspx) c# web 应用程序,我必须在这个应用程序中创建一个 web api,它将在第三方 CMS(Infusionsoft) Http POST 活动中使用。

【问题讨论】:

  • 祝你好运。现在你的问题到底是什么?
  • 解释!= 问题。请阅读:how to ask
  • Dev-Systematix 提出了一个面向目标的问题,但这是一个面向问题的网站。
  • 我们可以提供帮助,即使这是一个面向目标的问题,但 OP 提出问题的方式表明他没有对该主题进行任何类型的搜索,只是想被勺子喂解决方案

标签: c# asp.net-web-api asp.net-web-api-routing


【解决方案1】:

在 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) 应用程序一起工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 2020-03-05
    • 2012-11-05
    • 2016-04-04
    • 1970-01-01
    • 2015-01-03
    相关资源
    最近更新 更多