WebApi以及路由机制的工作方式是读取http动词(GET POST etc …),然后搜索匹配的方法名称/参数:
例如 :
>如果是GET,URI是api / Customers / 5:
>方法应该从Get开始
>如果它有ID,那么搜索一个接受int作为参数的方法.
等等(有更多的规则).
我主要认为他们用反思来做.
题 :
对于每个URI请求,搜索所有这些数据只是为了附加一个方法吗?
哪里可以轻松地从客户端发送一个非常短的字符串,这将意味着服务器端的方法?
为什么不这样做呢?好的,因为我们想用http动词来表示意思.好.但是这么多操作只是为了执行一个方法
示例#1
得到api /客户/ 5
可能
a.ashx?m = gc& id = 5(method = GetCustomer& id = 5)
示例#2
放api / Customers / 5?v = 123
可能
a.ashx?m = uc& id = 5?v = 123′(方法= UpdateCustomer& id = 5& value = 123)
我的时间更短.
不要误会我我相信这个api是由非常聪明的人来完成的,他们知道他们谈论什么.
只是想知道我失踪了什么
解决方法
完整列表: http://www.asp.net/whitepapers/mvc4-release-notes#_Toc317096197
> OData支持(通过Queryable属性)
>内容谈判
>过滤器
>模型绑定和验证
> IIS以外的自我主机能力
链接生成到包含路由规则的相关资源
>完全支持路由/路由
>能够使用IApiExplorer创建自定义帮助和测试页面
性能比较HttpHandler与WebAPI:http://www.west-wind.com/weblog/posts/2012/Sep/04/ASPNET-Frameworks-and-Raw-Throughput-Performance
一如往常,您需要选择最适合您的技术,如果您希望性能与Http Handler一起使用.如果您想要灵活性和休息,请使用Web API.如果您公开其他消费的Web服务,您可能需要休息