2011-09-02 1 views
2

내가처럼 보이는 기능이 있습니다요청 ("키")과 요청. 매개 ("키")간에 차이가 있습니까? 하는 ASP.NET MVC3 응용 프로그램에서

Public Sub DoSomething(controllerCtx As ControllerContext) 
    .... 

    ' Which to use? and Why? 
    Dim val = controllerCtx.HttpContext.Request.Params.Item("someKey") 
    Dim val = controllerCtx.HttpContext.Request.Item("someKey") 

    .... 
End Sub 

(내가 알고 있어요 Item 모두의 Default 속성입니다 제거 할 수있는, 즉이 질문에 관련이없는입니다.)

Request.ItemParams.Item에 대한 MSDN 페이지를 보면 어떤 차이점이 보이지 않습니다. 두 페이지 모두 쿠키, Form, QueryString 또는 ServerVariables 컬렉션에서 값을 가져옵니다. 내가 this Stack Overflow post을 본 적이

(그들은. 다른 주문을 나열 할 수 있지만)하지만 Request.ItemRequest.Params.Item보다 QueryString 구성 요소에있는 moreso에 초점을 맞춘 답변을 보인다.

내가 왜 다른 것을 사용할 수 있습니까? 둘 사이에 어떤 차이가 있습니까?

답변

5

둘은 내용면에서 완전히 동일합니다. 에서

  1. QueryString을
  2. 양식
  3. 쿠키 지금까지 어느 하나를 사용하기로
  4. 역시 ServerVariables

을 잘 : 그리고 여기에 내용과이 검색되는 순서입니다 ASP.NET MVC 응용 프로그램을 사용하는 것이 더 좋을 것입니다 :

controllerCtx.Controller.ValueProvider.GetValue("someKey"); 

이 경로 및 사용자 정의 값 공급자 (예 : JsonValueProvider)를 고려합니다. 물론 모든 것은 시나리오와 특정 요구 사항에 달려 있습니다.

+0

답변을 주셔서 감사합니다. – ckittel