2008-09-23 2 views
1

좋아, 나는 ASP.NET 웹 응용 프로그램에 대한 초보자이고 일반적으로 웹 응용 프로그램입니다. 나는 직장에서 내부 툴을위한 약간의 놀이 앱을 만들고있다. 이 튜토리얼 주어진 ASP.NET MVC 웹 응용 프로그램에서 문맥을 전달하는 방법

...

http://www.asp.net/learn/mvc-videos/video-395.aspx

예는 기본적으로 글로벌 태스크 목록이 있습니다.

그래서 같은 일을하고 싶었지만 지금은 프로젝트 작업을 유지하려고합니다. 이제 프로젝트를 선택하고 해당 프로젝트의 작업 목록을 얻습니다. 작업과 상호 작용할 때 선택한 프로젝트의 컨텍스트를 어떻게 유지합니까? 어떻게 든 링크로 인코딩합니까? 아니면 어떤 종류의 세션 데이터에 보관합니까? 또는 다른 방법으로? 내가 무엇을 말할 수에서

답변

0

확인, 최선의 선택은 세션 데이터로

0

편안하고 URL에 숨겨진 필드를 저장하는 것, 그리고 세션 쿠키는 당신의 친구입니다.

1

내가 사용 : 여러 요청을 마지막으로해야합니다 상태, 예를 들어, 대한

  • 세션 상태 마법사를 사용할 때. 확장 성 문제로 이어질 수 있기 때문에 너무 많은 데이터를 여기에 두지 않도록주의해야합니다.
  • 다음 요청에 대해서만 상태를 사용할 수있게하려는 시나리오의 TempData (예 : 다른 작업으로 리디렉션 할 때 해당 작업에 상태에 대한 액세스 권한을 부여하고 싶지는 않지만 해당 작업을 중단하지 않으려는 경우 그 후)
  • 양식 데이터와 관련된 컨트롤러에 대해 알기를 원하지만 해당 데이터를 표시하지 않으려는 상태의 숨겨진 양식 필드 [입력 유형 = "숨김"]. 또한 서버 자원에 과부하가 걸리지 않도록 클라이언트에 상태를 푸시하는 데 사용할 수 있습니다.
5

여러 개의 프로젝트가 여러 개의 작업으로 구성된 것처럼 들리 겠지만 프로젝트를 URL에 설정하는 것이 좋습니다. 이렇게하려면 "/projects/{project}/tasks"과 같은 경로가 필요합니다. RESTful URL 원칙 (URL은 콘텐츠를 설명 함)을 따릅니다.

사용자가 여러 브라우저 창에서 서로 다른 프로젝트를 열면 세션 상태를 사용할 수 없습니다. 시스템에 로그인하고 두 개의 탭에서 두 개의 프로젝트를 선택한다고 가정 해 봅시다. 먼저 세션이 첫 번째 열린 탭의 프로젝트로 설정되지만 두 번째 탭이로드되면 세션이이 프로젝트에 겹쳐 쓰입니다. 첫 번째 탭에서 아무 것도하지 않으면 두 번째 프로젝트에 대해 기록됩니다.

관련 문제