Web api性能?

Roy*_*mir 10 c# asp.net asp.net-mvc .net-4.0 asp.net-web-api

我刚在想 ,

WebApi沿着routing mechanism 以这样的方式工作,它读取http verb(GET POST等...),然后搜索匹配的方法名称/参数:

例如 :

  • 如果它GET 和URI是api/Customers/5:

    • 方法应该从 Get

    • 如果有,ID那么搜索一个接受int作为参数的方法.

    • 等(有更多规则).

我大多相信他们是用反射做的.

题 :

对于每个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是由非常聪明的人完成的,他们知道他们在谈论什么.

只想知道我错过了什么.

Pet*_*hai 13

如果你不编码,Web api有很多你没有HTTP Handler的选项全部列表: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服务,您可能需要休息