gpt4 book ai didi

c# - Web API 性能?

转载 作者:可可西里 更新时间:2023-11-01 09:05:20 26 4
gpt4 key购买 nike

我在想,

WebApi 连同路由机制 的工作方式是读取http 动词(GET POST 等...),然后搜索匹配的方法名称/参数:

例如:

  • 如果是 GET 并且 URI 是 api/Customers/5:

    • 方法应该以Get

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

    • 等(还有更多规则)。

我主要相信他们是使用反射来做到的。

问题:

对于每个 URI 请求,搜索所有这些数据只是为了附加一个方法,这不是对性能造成影响吗?

我在哪里可以轻松地从客户端发送一个非常短的字符串,这将暗示服务器端的方法?

为什么不用简单的方法呢?好的,因为我们想使用 http 动词作为含义。好的。但是这么多操作只是为了执行一个方法

示例 #1

获取 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 处理程序所没有的选项完整列表:http://www.asp.net/whitepapers/mvc4-release-notes#_Toc317096197

  • OData 支持(通过 Queryable 属性)
  • 内容协商
  • 过滤器
  • 模型绑定(bind)和验证
  • 能够在 IIS 之外自行托管
  • 生成包含路由规则的相关资源的链接
  • 完全支持路由/路由
  • 能够使用 IApiExplorer 创建自定义帮助和测试页面

HttpHandler 与 WebAPI 的性能比较:http://www.west-wind.com/weblog/posts/2012/Sep/04/ASPNET-Frameworks-and-Raw-Throughput-Performance

与往常一样,您需要选择最适合您的技术,如果您想要性能,请使用 Http 处理程序。如果您想要灵 active 和休息,请使用 Web API。如果您公开其他人将使用的 Web 服务,您可能需要休息

关于c# - Web API 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com