首页 > 代码库 > ASP.NET Web API 路由 (上)
ASP.NET Web API 路由 (上)
1 什什么是ASP.NET Web API 路由
ASP.NET Web路由其实就是一个抽象的消息处理管道,ASP.NET Web API的路由机制不同于ASP.NET的路由机制,但是与ASP.NET的路由有着相似的一套设计。
2 ASP.NET Web API 请求和响应的相关对象
ASP.NET Web API的请求是通过HtppRequestMessage作为管道来处理请求的消息,通过HtppReponseMessage作为管道来处理响应的消息。也就是ASP.NET Web API处理用户请求和响应用户的核心的对象是HttpRequestMessage和HtppReponseMessage,而ASP.NET用于处理用户请求和响应的是HttpRequest和HttpReponse。
2.1 HttpRequestMessage 对象
在一个完整的HTTP请求/响应报文中是由起始行、报头集合、主体内容三部分构成。
在Http的起始行包含了HTTP方法、请求URI、HTTP版本,而起始行在HttpRequestMessage的属性是Method、RequestUri和Vesion。
HTTP | HttpRequestMessage |
HTTP方法 | Method |
请求URI | RequestUri |
HTTP版本 | Vesion |
在请求报文的报头集合、主体内容在HttpRequestMessage的体现分别是Headers、Content。
注:如果我们没有对Http方法进行设置,HttpRequestMessage默认是采用GET
2.2 HtppReponseMessage 对象
在ASP.NET Web API中通过HtppReponseMessage类型来表示响应消息,可以在该类型中获取HTTP响应报文的相关信息。HTTP响应报文的起始行中包含HTTP版本、响应状态码和状态文字描述相关信息,在HtppReponseMessage对应着分别是Version、StatuCode和ReasonPhrase属性。
HTTP | HtppReponseMessage |
HTTP版本 | Version |
响应状态码 | StatuCode |
状态文字描述 | ReasonPhrase |
在响应报文的报头集合、主体内容在HtppReponseMessage的体现分别是Headers、Content。
2.3 HttpContent 对象
在HttpRequestMessage和HtppReponseMessage都又一个类型为HttpContent的属性Content,用于表示请求报文和响应报头的主体内容。在HttpContent中有个只读属性Headers可以获取一个HttpContentHeaders,可以利用它获取请求/相应报文的主体内容的相关报头。
注:HttpContentHeaders表示的报头有很多,具体可以查看MSDN文档的 HttpContentHeaders Class
ASP.NET Web API 路由 (上)