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"]作为你其实并不关心它是否是一个从查询字符串来或从别的地方长。