首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Request["key"] vs Request.Params["key"] vs Request.QueryString["key"]

Request["key"] vs Request.Params["key"] vs Request.QueryString["key"]
EN

Stack Overflow用户
提问于 2010-02-23 01:45:54
回答 5查看 50.5K关注 0票数 74

Request["key"] vs Request.Params["key"] vs Request.QueryString["key"]

你们这些经验丰富的程序员使用哪种方法?为什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-02-23 02:06:54

我推荐Request.QueryString["key"]。对于查询字符串,这与Request["Key"]没有太大区别,但如果您试图从ServerVariables中获取值,就会有很大的差别。Request["Key"]QueryString中查找值,如果为null,则查找Form,然后查找Cookie,最后查找ServerVariables

使用Params是成本最高的。对params的第一个请求创建一个新的NameValueCollection,并将QueryStringFormCookieServerVariables中的每一个添加到此集合中。对于第二个请求,它的性能比Request["Key"]更好。

话虽如此,几个键的性能差异是相当可以忽略的。这里的关键是代码应该显示意图,使用Request.QueryString可以清楚地表明您的意图。

票数 122
EN

Stack Overflow用户

发布于 2010-02-23 01:53:30

我更喜欢使用Request.QueryString["key"],因为它可以帮助代码阅读器准确地了解您从何处获取数据的。我倾向于不使用Request.Params["key"],因为它可以引用cookie、查询字符串和其他一些东西;所以用户需要考虑一下。人们需要知道你在想什么的时间越少,维护代码就越容易。

票数 24
EN

Stack Overflow用户

发布于 2010-02-23 01:54:23

HttpRequest.ParamsRequest.Params从httprequest获取几乎所有内容(查询字符串、表单、cookie和会话变量),而Request.Querystring只提取查询字符串...一切都取决于你当时在做什么。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2312855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档