首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET Web API 处理架构

这篇文章主要是介绍ASP.NET Web API的处理架构:当一个HTTP请求到达直到产生一个请求的过程。...ASP.NET Web API 的处理架构图如下,主要有三层组成:宿主(hosting),消息处理管道(message handler pipeline)和控制器处理(controller handling...宿主(Hosting) 底层负责Web API的宿主,Web API之间的接口和HTTP 处理引擎。一句话,这一层负责创建HttpRequestMessage实例。然后把他们推入到上层的消息处理管道。...目前在ASP.NET Web API里头已经内建的宿主选项有2个:self-hosting 和 web hosting, web hosting也就是宿主在IIS的ASP.net处理管道里,Self-hosting...消息处理管道(Message Handler Pipeline) 中间层是 message handler pipeline,这一部分就是 WCF Web API 的内容了,通过 HttpServer

1.7K80
您找到你想要的搜索结果了吗?
是的
没有找到

【翻译】ASP.NET WEB API异常处理

当一个web api抛出一个异常后 此异常会被转化成一个HTTP响应 错误代码为500的服务错误 但是如果你不想让客户端看到500的错误码 你也可以自定义错误码 如下代码当用户输入的ID没有与之相关的数据...HttpResponseException(resp); } return item; } 结果如下图所示 另外 开发人员可以托管异常的抛出 异常过滤器可以接到controller抛出的任何未处理异常..., 并不单单是HttpResponseException 异常过滤器实现了System.Web.Http.Filters.IExceptionFilter接口 using System; using...System.Net; using System.Net.Http; using System.Web.Http.Filters; public class NotImplExceptionFilter...BundleConfig.RegisterBundles(BundleTable.Bundles); } } 我目前还不知道怎么在这里注册这个过滤器 运行的效果如下 另外 如果知识针对某个类或者某个action处理异常

54440

Asp.Net Web API 2第七课——Web API异常处理

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文主要来讲解Asp.Net...Web API中错误和异常的处理,包括以下几点:   1.HttpResponseException——HTTP响应异常   2.Exception Filters——异常过滤器   3.Registering...ASP.NET Web API中的异常过滤器与Asp.Net MVC中的是极为类似的。然后,他们被声明在不同的命名空间中,且功能也是独立的。...特别强调一下,Asp.Net MVC中使用的HandleErrorAttribute类不会处理Web API控制器中抛出的异常。...MVC 4 Web应用程序”项目模板创建的项目,要把你的Web API配置代码被放在WebApiConfig类中,它位于App_Start文件夹: public static class WebApiConfig

86730

web 应用程序_web应用程序是什么意思

基本上,可以将JavaScript 编写的程序看成是个人计算机桌面上的应用程序,如即时通信这样的用户接口程序。   ...在一些JSP 应用程序中,或许会在JSP 网页中写一些内嵌(Inline)JavaScript,要注意,这些JavaScript并不是在服务器上执行的,服务器会如同处理那些HTML标签一样,将这些JavaScript...容器是Java所编写的一个应用程序,负责与服务器沟通,管理Servlet所需的各种对象与数据、Servlet生命周期。...每次请求进来时,都是使用同一个容器来处理,由容器开启一个线程(Thread),并决定由哪个Servlet来处理。...服务器,或是以为Web容器就是HTTP服务器,其实不然,Tomcat是Web容器,其实可以与其他HTTP服务器相结合,像是Apache。

1K20

什么是Web应用程序

Web应用程序如何工作 Web应用程序通常用浏览器支持的语言(例如JavaScript和HTML)编写,因为这些语言依赖浏览器来呈现程序可执行文件。一些应用程序是动态的,需要服务器端处理。...其他应用程序则完全是静态的,无需在服务器上进行任何处理Web应用程序需要一个Web服务器来管理来自客户端的请求,一个应用服务器来执行所请求的任务,有时还需要一个数据库来存储信息。...应用服务器技术的范围从ASP.NET,ASP和ColdFusion到PHP和JSP。 以下是一个典型的Web应用流程: 1....Web服务器执行请求的任务(例如查询数据库或处理数据),然后生成请求数据的结果 4. Web服务器将处理后的数据或请求的信息或已处理数据的结果一起发送到Web服务器 5....Web服务器用所请求的信息响应客户端,该信息随后出现在用户的显示屏上 Web应用程序示例 Web应用程序包括在线表单,购物车,文字处理器,电子表格,视频和照片编辑,文件转换,文件扫描以及电子邮件程序,例如

2.8K40

Web应用程序限速方法

一般来说Web应用程序的开发者不太关心网络限速的问题。所以通常写的程序逻辑基本认为用户提交上来的数据速率越快越好;用户下载文件时,下载越快越好。...但现实情况是服务器的带宽不是无限的,通常我们并不希望某一个用户的极速下载导致其它用户感觉此Web应用程序不可用。这样就带来了网络速率的需求。我在实际工作中大概总结出好几种限速办法,在这里记录以备忘。...比如有些用户下载不限速,有些用户下载限速,而且限速的数值也可根据不同用户身份而不同) nginx-upload-module限制上传速率 location /upload { # 转到后台处理..., 1 表示方式,该方式是需要在/tmp/nginx_upload下创建以0到9为目录名称的目录,上传时候会进行一个散列处理。...RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,比如你希望自己的应用程序QPS不要超过1000,那么RateLimiter

3K71

Asp.Net Web API(三)

Routing Tables路由表     在Asp.Net Web API中,一个控制器就是一个处理HTTP请求的类,控制器的public方法就被叫做action方法或简单的Action。...当Web API接收到一个请求的时候,它将这个请求路由到一个Action。         注意:Web API的路由与Asp.Net MVC的路由是非常相似的。...这种风格的路由类似于Asp.Net MVC,而且可能与RPC式的API接近。   你也可以通过使用ActionName注解属性来覆盖动作名。...在匹配路由阶段,这个特殊的{Controller}和{Action}占位符的处理和其它占位符是一样的,它们用另外的值被简单的存储在字典中。      ...Selecting a Controller      控制器选择是由IHttpControllerSelector.SelectController方法来处理的。

1.7K50

Asp.Net Web API(一)

HTTP服务可以涉及到范围广泛的客户端,包括浏览器,各种移动设备和传统桌面应用程序。而Web API是提供了一套RestfulAPI的开发框架,它提供了较为完整的http语义支持。...           Web API主要用于做开放API接口,更抽象,更不注重VIew生成      2.自身实现区别              两种框架主要使在Asp.Net的基础上进行改造,主要是对...MVC像是在一层上建立了第二层,引伸出更大的路由机制,实现了诸如MvcHandler和ControllerFactory这种消息处理和后台控制器方法选择机制。...而Web API除了扩展前者外,另外写出了一套独立的,独立于Asp.Net的消息处理管道,就像借鉴了原来的房子模型,重新设计出了另一套别墅,这也很好的解释了为什么Web API可以寄宿在不同的宿主上(宿主本质就是利用一个具体的一个用程序为...何况它们两者虽然都有Controller和Action,但是请求的实现和响应的回复机制也是不同的,比如Web API处理消息的两个核心类是HttpRequestMessage和HttpResponseMessage

81040

实战 ASP.NET Web API

Web API 框架是一个面向 Http 协议的通信框架。相对于 WCF 而言,Web API 只面向于 Http 协议设计,而且没有 WCF 那么繁琐的配置。...Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单...跟 ASP.NET MVC 的 Json 序列化不同的是,Web API 使用了 Newtonsoft.Json 框架来进行序列化。...Action 匹配 Web API 框架默认是基于 Restful 架构模式的,与 ASP.NET MVC 有区别的是,它会根据 Http 请求的 HttpMethod(Get、Post、Put、Delete...username=hqf@qq.com&password=dsd 关于 POST 参数绑定 Web API 相对于 ASP.NET MVC,使用了新的参数绑定类。

1.4K50
领券