ASP.NET - 请求(“键”)比查询字符串值的Request.QueryString(“key”)慢吗?

时间:2011-10-10 15:52:13

标签: asp.net

使用Request.Querystring("key")而不是Request("key")访问QueryString值是否存在合理的性能原因?

Request.Item("key")(我认为相当于Request("key"))来自以下数据来源:

  • 查询字符串
  • 表格
  • 缓存
  • ServerVariables

这告诉我,Request.QueryString(“key”)将有更好的性能,但我看到有足够的人使用我开始怀疑的Request(“key”)。显然,Request("key")会混淆数据源,但如果我的问题是性能则会上下文。

3 个答案:

答案 0 :(得分:3)

如果存在性能差异,那肯定会非常非常非常小。但是,使用Request是一个可能的安全漏洞,因为您可能从意外的来源获取数据,而这只是 的原因我会避免它。

答案 1 :(得分:0)

我认为,直接访问.QueryString,而不是检查所有可能的数据存储,可以说是一个小的性能优势。虽然多少可能取决于他们搜索的顺序以及是否返回第一场比赛,或者检查是否继续而不管比赛如何。

如果仅检查一个位置的值,而不是允许接受用户的任何内容,也可能更安全(稍微)。

答案 2 :(得分:0)

我可以提供的最佳建议是对其进行基准测试。

但从常识的角度来看,我希望Request.QueryString(“key”)更快。

考虑一个现实世界的选择。如果你试图找到一个单词,并且有人递给你两本词典,说“它可能在这一个或它可能在这一个中”,那就比他们给他们一本字典并说“是的”更快,绝对是在这一个。看看这里“?