요청["키"] 대 요청.Params["키"] 대 Request.쿼리 문자열["키"]
Request["key"]
대Request.Params["key"]
대Request.QueryString["key"]
숙련된 프로그래머들은 어떤 방법을 사용합니까? 그리고 그 이유는 무엇입니까?
추천합니다Request.QueryString["key"]
과는 큰 차이가 없습니다.Request["Key"]
쿼리 문자열의 경우이지만 값을 가져오려면 큰 차이가 있습니다.ServerVariables
.Request["Key"]
에서 값을 찾습니다.QueryString
null인 경우 를 확인합니다.Form
,그리고나서Cookie
그리고 마지막으로ServerVariables
.
사용.Params
가장 비용이 많이 듭니다.매개 변수에 대한 첫 번째 요청이 새 항목을 생성합니다.NameValueCollection
그리고 각각을 추가합니다.QueryString
,Form
,Cookie
그리고.ServerVariables
이 컬렉션까지두 번째 요청의 경우 다음보다 성능이 우수합니다.Request["Key"]
.
두 개의 키에 대한 성능 차이는 무시해도 될 정도입니다.여기서 핵심은 코드가 의도와 사용을 나타내야 한다는 것입니다.Request.QueryString
당신의 의도가 무엇인지 명확하게 합니다.
사용하는 것을 선호합니다.Request.QueryString["key"]
데이터를 어디서 얻는지 코드 검사자가 정확히 알 수 있도록 도와주기 때문입니다.사용하지 않는 편입니다.Request.Params["key"]
쿠키, 쿼리 문자열 및 기타 몇 가지를 참조할 수 있기 때문에 사용자는 약간의 생각을 해야 합니다.누군가가 여러분이 생각하는 것을 알아내는 데 필요한 시간이 적을수록, 코드를 유지하는 것이 더 쉬워집니다.
HttpRequest.Params
또는Request.Params
httprequest에서 모든 것(문자열, 형식, 쿠키 및 세션 변수)을 얻는 반면,Request.Querystring
쿼리 문자열만 풀링합니다...모든 것은 당신이 그때 무엇을 하고 있느냐에 달려 있습니다.
항상 컬렉션을 명시적으로 지정합니다.어떤 이유로 재정의를 허용하려면 각 "get"을 코드화하고 계층 구조를 보여주는 명확한 코드를 작성합니다.IMO, 저는 명확한 비즈니스 이유 없이 여러 소스로부터 가치를 얻는 것을 싫어합니다.
참고로 web.config에서 requestValidationMode="4.5"를 설정하면 둘 다 요청합니다.QueryString["키"] 및 요청["key"]는 "임의 로드" 동작을 설계로 사용합니다.
하지만, 어떻게든 요청합니다.Params["key"]는 여전히 4.0의 동작으로 유효성 검사를 트리거합니다.
이 이상한 행동은 정말 오랫동안 저를 혼란스럽게 합니다.
항상 URL 매개 변수를 요청으로 대상으로 지정하는 것이 더 유용합니다.쿼리 문자열을 사용하면 다른 여러 위치에서 가져올 수 있는 다른 값을 추적하는 번거로움을 줄일 수 있습니다.
언급URL : https://stackoverflow.com/questions/2312855/requestkey-vs-request-paramskey-vs-request-querystringkey
'programing' 카테고리의 다른 글
R 벡터의 모든 요소에서 마지막 n자를 제거하는 방법 (0) | 2023.06.18 |
---|---|
R에서 Excel 해결사를 복제하는 방법 (0) | 2023.06.18 |
날짜 시간.지금. 데이 오브 위크.CultureInfo를 사용하여 ToString() (0) | 2023.06.18 |
연결 문자열에 앰퍼샌드를 포함하는 방법은 무엇입니까? (0) | 2023.06.18 |
R에서 객체가 함수로 전송된 후 객체의 이름을 얻는 방법은 무엇입니까? (0) | 2023.06.18 |