Request["key"]
vs Request.Params["key"]
vsRequest.QueryString["key"]
您经验丰富的程序员使用哪种方法?为什么呢?
Answers:
我推荐Request.QueryString["key"]
。Request["Key"]
查询字符串的区别不大,但是如果您尝试从中获取值,则存在较大差异ServerVariables
。Request["Key"]
会在一个值QueryString
如果为null,它看起来在Form
,那么Cookie
最后ServerVariables
。
使用Params
是最昂贵的。到PARAMS的第一个请求创建一个新的NameValueCollection
,并将每个的QueryString
,Form
,Cookie
和ServerVariables
到这个集合。对于第二个请求,它的性能要高于Request["Key"]
。
话虽这么说,几个键的性能差异可以忽略不计。此处的关键是代码应显示意图,使用Request.QueryString
可以清楚表明您的意图。
我更喜欢使用Request.QueryString["key"]
它,因为它可以帮助代码阅读器准确地知道从何处获取数据。我倾向于不使用Request.Params["key"]
它,因为它可以引用Cookie,查询字符串和其他一些东西。因此用户必须三思。别人花更少的时间弄清楚您的想法,维护代码就越容易。
where
在于数据来自何处。它的优良使用Request.Params["key"]
作为你其实并不关心它是否是一个从查询字符串来或从别的地方长。