我刚在想 ,
The WebApi
随着routing mechanism
以这样的方式工作,它读取http verb
( GET POST 等...)然后搜索匹配的方法名称/参数:
例如 :
我主要相信他们使用反射来做到这一点。
问题 :
对于每个 URI 请求 - 搜索所有这些数据只是为了附加一个方法,这不是对性能造成影响吗?
我可以在哪里轻松地从客户端发送一个非常短的字符串,这将暗示服务器端的方法?
为什么不采用简单的方法呢?好的,因为我们想使用 http 动词作为含义。好的。但这么多操作只是为了执行一个方法
例子#1
get api/Customers/5
可能
a.ashx?m=gc&id=5 (method=GetCustomer & id=5)
例子#2
put api/Customers/5?v=123
可能
a.ashx?m=uc&id=5?v=123' (method=UpdateCustomer & id=5 & value=123)
我的更短。
别误会我的意思。我相信这个 api 是由非常聪明的人完成的,他们知道自己在说什么。
只是想知道我错过了什么。
Web api 有很多选项,如果您不对其进行编码,则使用 HTTP Handler 就没有这些选项
完整列表:http://www.asp.net/whitepapers/mvc4-release-notes#_Toc317096197 http://www.asp.net/whitepapers/mvc4-release-notes#_Toc317096197
- OData 支持(通过 Queryable 属性)
- 内容协商
- Filters
- 模型绑定和验证
- 能够在 IIS 之外自行托管
- 生成包含路由规则的相关资源的链接
- 全面支持路线/路由
- 能够使用 IApiExplorer 创建自定义帮助和测试页面
HttpHandler 与 WebAPI 的性能比较:http://www.west-wind.com/weblog/posts/2012/Sep/04/ASPNET-Frameworks-and-Raw-Throughput-Performance http://www.west-wind.com/weblog/posts/2012/Sep/04/ASPNET-Frameworks-and-Raw-Throughput-Performance
与往常一样,如果您想要性能,则需要选择最适合您的技术,请选择 Http Handler。如果您想要灵活性和休息,请使用 Web API。如果您公开其他人将使用的 Web 服务,您可能需要休息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)