首页
学习
活动
专区
圈层
工具
发布

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.9K80

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

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

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

    ASP.NET MVC4 Web API 堆栈将添加指定消息处理功能

    微软工程师Kiran Challa近日在其博客中张贴了一张正在开发阶段的ASP.NET MVC4 Web API堆栈图,如下图所示。...这两张图中最显著的区别是,上面第1张图中包含指定路由消息处理程序管道(Route-Specific Message Handler Pipelines)。...此功能允许用户在给定路由的请求链中指定最终的消息处理程序,包括: 支持在每个路由基础上添加消息处理程序。...ASP.NET MVC是微软官方提供的一个以MVC模式编写ASP.NET Web应用程序的框架,该框架提供了一个可以代替ASP.NET Web窗体的基于MVC的应用。...在今年3月底,微软在Apache 2.0许可证下,开源了ASP.NET MVC 4、ASP.NET Web API和ASP.NET Web Pages v2(Razor),源码发布在微软的开源项目托管网站

    921100

    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

    98040

    使用 ASP.NET Web API 构建超媒体 Web API

    现在我们来了解一下如何在使用 ASP.NET Web API 的生产环境中实际实施这些原理,并使用此框架提供的所有可扩展性和功能。 在内核级别,ASP.NET Web API 支持格式化程序的概念。...格式化程序实现形式知道如何处理特定媒体类型,以及如何将它序列化或反序列化为具体的 .NET 类型。过去在 ASP.NET MVC 中对新媒体类型的支持十分有限。...利用具有新的模型绑定程序或值提供程序的模型绑定基础结构通常可以解决此问题。幸运的是,这种不一致性在 ASP.NET Web API 中已通过引入格式化程序得到解决。...ASP.NET Web API 中对于支持内容协商起着重要作用,因为框架现在可以根据在请求消息的“Accept”和“Content-Type”标头中收到的值选择正确的格式化程序。...您在 RestBugs 中可以找到用于 Razor 的 MediaTypeFormatter 的具体实现,该示例应用程序由 Howard Dierking 创建,演示如何使用 ASP.NET Web API

    3.4K50

    实战 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.6K50
    领券