Request["key"] vs Request.Params["key"] vs Request.QueryString["key"]
你们这些经验丰富的程序员使用哪种方法?为什么?
发布于 2010-02-23 02:06:54
我推荐Request.QueryString["key"]。对于查询字符串,这与Request["Key"]没有太大区别,但如果您试图从ServerVariables中获取值,就会有很大的差别。Request["Key"]在QueryString中查找值,如果为null,则查找Form,然后查找Cookie,最后查找ServerVariables。
使用Params是成本最高的。对params的第一个请求创建一个新的NameValueCollection,并将QueryString、Form、Cookie和ServerVariables中的每一个添加到此集合中。对于第二个请求,它的性能比Request["Key"]更好。
话虽如此,几个键的性能差异是相当可以忽略的。这里的关键是代码应该显示意图,使用Request.QueryString可以清楚地表明您的意图。
发布于 2010-02-23 01:53:30
我更喜欢使用Request.QueryString["key"],因为它可以帮助代码阅读器准确地了解您从何处获取数据的。我倾向于不使用Request.Params["key"],因为它可以引用cookie、查询字符串和其他一些东西;所以用户需要考虑一下。人们需要知道你在想什么的时间越少,维护代码就越容易。
发布于 2010-02-23 01:54:23
HttpRequest.Params或Request.Params从httprequest获取几乎所有内容(查询字符串、表单、cookie和会话变量),而Request.Querystring只提取查询字符串...一切都取决于你当时在做什么。
https://stackoverflow.com/questions/2312855
复制相似问题