源栈培训:其他ASP.NET项目

更多
2019年08月12日 08点54分 作者:叶飞 修改
Web API

返回纯数据(JSON/XML/其他格式),而不是HTML页面

推出背景:

  • RESTful设计理念:无状态(http)和 资源(url)
  • 通过动词(verb)确定动作:Get/Post/Put/Delete……问题:GET/POST就已经有些“无所谓”了,再添加PUT和DELETE,概念进一步混淆

和MVC最大的不同:route

配置在:WebApiConfig.cs,注意:默认没有action!

根据Request的method,在ApiController的子类controller中找Action:

  • 只看public的instance method,排除构造函数、事件、委托、继承父类的方法等等
  • Action方法可以:
    1. 前缀: "Get", "Post", "Put", "Delete", "Head", "Options", or "Patch"
    2. 添加特性:AcceptVerbs, HttpDelete, HttpGet, HttpHead, HttpOptions, HttpPatch, HttpPost, or HttpPut

Action的参数可以加特性:[FromBody],表明该值不从url中获取

在Ajax中调用Api:

        $.ajax({
            /*value的值不会被[FromBody]标记的Action参数取到*/
            url: "/api/values/5?value=yz", 
            //会转到名为PutXXX()或者被标记为[HttpPut]的Action处理
            method: "put",
            data: { '': 'dfg' }, 
            //或者:data: "=dfg",非常奇怪
        })
UnitTest:WebApi 的标配哟!


WebForm

控件/事件驱动:内置大量控件,还有各种第三方控件(以及用户/自定义控件),通过控件的各种事件驱动开发

富服务器端:runat="server",后来有Ajax的尝试

模拟有状态:__ViewState,弊大于利

数据绑定:(演示,略)


发布

-- 计划/备份/回滚

简单复制上传(FTP):断点上传

一键发布

IIS 配置:下载WebDeploy

docker 微服务



源栈培训 ASP.NET
赞: 50 踩: 85

打赏
已收到打赏的 帮帮币

你的 打赏 非常重要!
为了保证文章的质量,每一篇文章的发布,都已经消耗了作者 1 枚 帮帮币
没有“帮帮币”,作者无法发布新的文章。

全系列阅读
评论 / 0

ASP.NET


RazorPage

微软推荐的、最新的、基于Razor页面和.NET core的新一代Web项目开发技术,包括Razor Tag Helper、Model绑定和Validation、Session/Cookie、内置依赖注入等……

MVC

过去两年间最流行的、基于.NET Framework和MVC模式的ASP.NET MVC框架,主要用于讲解安全、性能、架构和各种实战功能演示……

其他Web项目

包括WebForm和WebApi

全部
关键字



帮助

反馈