2011-11-17 4 views
0

하나의 ASP.NET 응용 프로그램에서 다른 응용 프로그램을 여는 링크를 제공합니다. 사용자가 하이퍼 링크를 클릭하면 다른 응용 프로그램이 새 창에서 열립니다. 문제는 응용 프로그램이 모두 동일한 세션을 사용하고 있다는 것입니다. 새 창에 대한 세션 ID를 변경할 수있는 방법이 있습니까?ASP.NET의 새 창에 대한 새 세션

페이지로드시 이미 세션을 버리고 세션 ID 쿠키를 지우려고했습니다. 그러나 그것은 새로운 세션 ID를 생성하고 있으며 두 개의 창 모두 새로운 세션 ID에 액세스하고 있습니다. 두 창에 대해 별도의 세션 ID를 갖고 싶습니다.

그렇게 할 방법이 있습니까?

+0

URL이 마음에 들지 않으면 [Cookieless Sessions] (http://msdn.microsoft .com/ko-us/library/aa479314.aspx)하지만이 방법을 사용하는 것이 더 정확한 방법 일 수 있습니다. – R0MANARMY

+0

중복 가능성 있음 : http://stackoverflow.com/questions/2840615/asp-net-session-multiple-browser-tabs-different-sessions –

+0

작업에 잘못된 도구를 사용하고 곡물과의 싸움처럼 들리는군요. . 당신이하려고하는 것은 이것이 당신이 처음에이 행동을 원하게 만드는 것입니까? –

답변

2

Session을 사용할 때 이것을 수행하는 좋은 방법이 없다고 생각합니다. 두 창간에 공유하지 않으려는 데이터에 대해 세션 대신 Viewstate를 사용하는 방법에 대해 생각해보십시오.

0

작업하는 응용 프로그램에 따라 세션 ID를 동적으로 만들 수 있습니다. 다른 응용 프로그램을 열면 고유 한 ID를 사용하여 두 번째 응용 프로그램에 대한 새 세션을 만들 수 있습니다.

0

동일한 질문은 브라우저 탭을 대신 사용하십시오. 같은 대답은 작동 당신

asp.net - session - multiple browser tabs - different sessions?

+0

이렇게하면 URL에 세션 ID를 넣을 수 있습니다. URL에 필요하지 않습니다. – sabaedge

+1

@sabaedge는 이전 질문에서 답을 제시하는 것이 아닙니다. 필요한 것은 고유 한 세션 ID를 작성하는 것입니다. 이것은 숨겨진 변수 또는 뷰 상태에 저장된 임의의 숫자 또는 guid를 사용하여 수행 할 수 있습니다. –

0

사용 sessionID와합니다. 뷰 상태로 놓습니다. 세션의 세션 ID와 뷰 상태의 세션 ID를 비교합니다. 다른 경우 새 창에서 새 세션을 만들고 뷰 상태에서 새 ID를 확인하십시오.

관련 문제