2011-11-25 7 views
0

브라우저 탭간에 세션 상태를 유지하는 가장 좋은 방법은 무엇입니까? 다음 시나리오가 있습니다. 사용자가 그리드에서 '프로젝트'를 여는 페이지가 있습니다. 이 프로젝트를 세션의 "현재 열려있는 프로젝트"로 유지합니다.세션 상태 - 여러 브라우저

문제는 사용자가 브라우저의 다른 탭에서 다른 프로젝트를 열 수 있다는 것입니다. 이제 그들은 다른 프로젝트를 열고 이것이 새로운 "현재 공개 프로젝트"가됩니다.

첫 페이지로 돌아 가면 분명히 문제가됩니다.

이 상황을 해결할 방법이 있습니까?

감사합니다,

조셉

답변

2

아니, 당신은 단지 그것을 처리해야합니다.

페이지가 프로젝트에서 어떤 작업을 시도하면 서버는 페이지가 변경하려고하는 현재 프로젝트인지 또는 다른 프로젝트인지 확인해야 서버가 오류 메시지를 다시 보낼 수 있습니다 프로젝트가 열린다.

또는 현재 프로젝트를 세션에 유지하지 않고 여러 프로젝트를 동시에 열 수 있습니다. 각 페이지가 처리중인 프로젝트를 추적하는 한 (어쨌든해야 할) 문제는 아닙니다.

+0

답장을 보내 주셔서 감사합니다. 아직 각 페이지가 프로젝트를 추적하는 메커니즘이있는 좋은 방법을 찾지 못했습니다. 현재 열려있는 프로젝트를 유지하는 세션 변수가 있으며 프로젝트가 열릴 때 설정합니다. 예를 들어 viewstate 또는 URL을 사용할 수 있지만 REST 호출이있을 때 문제가 발생합니다. 아마도 REST 호출에서 세부 정보를 헤더로 보내서이 문제를 해결할 수 있지만 상황이 더 복잡해지고 좋은 접근 방식인지 여부를 알지 못합니다. –