2013-04-10 2 views
1

asp.net C#을 사용하고 있고 여러 탭마다 세션을 관리 할 수 ​​없습니다. 내 웹 사이트의 시나리오는 USER 로그인이며, 작업을 선택한 다음 해당 작업에 적용합니다. 사용자가 적용하면 해당 요청에 대해 데이터베이스에서 항목이 수행됩니다. 해당 사용자의 저장된 작업 ID, 선택된 작업 ID 및 전자 메일 ID를 저장합니다.C에서 브라우저의 여러 탭에서 세션을 처리하는 방법 #

내가 직면하고있는 문제는, 2 개의 다른 탭으로 브라우저로 로그인 페이지를 열면입니다. 엔트리 데이터가 엉망이된다. 사용자 선택한 작업 1과 사용자 B가 작업 2를 선택한 경우, 사용자 B의 적용 단추를 누르고 선택한 작업 및 사용자 A의 전자 메일 ID를 데이터베이스에 입력 할 때.

세션 개체가 NULL/비어 있는지 확인하여이 문제를 해결하기 위해 새로운 세션을 만들어야했습니다. 그렇지 않으면 다른 사용자가 로그인 할 수 없다는 오류가 발생합니다. 하지만 내 코드는 매번 작동하지 않습니다. 때로는 결과가 나옵니다. 때로는 단순히 실행되지 않습니다. 여기에 내 코드 :

protected void session_create(string s) 
{ 
    if (string.IsNullOrEmpty((string)Session[s])) 
    { 
     Session[s] = s; 
     test.Text = "Welcome user, " + (string)(Session[s]); 
    } 
    else 
    { 
     test.Text = "You are Already logged in"; 
    } 
} 

다음 내가이 메서드를 호출 on_submit 버튼 : 난 단지 이메일 변수를 저장하는거야 때문에

session_create("email"); 

, 나는 이메일 매개 변수를 전달하고있다.

,

그래서, 사람이 어떤 생각을 가지고
string email = emailtextbox.Text; 

내가 어떻게이 문제를 해결할 수 있습니까? 사용자는 동일한 브라우저에서 여러 탭으로 로그인 할 수 없어야합니다. 도와주세요.

+0

나는 web.config 파일이 paramenter를 추가하여이 문제를 해결했다. $ ' 하지만 그 좋은 해결책인지는 잘 모릅니다. 아무도 더 좋은 아이디어가 있다면 plz lemme 알아. –

+0

사용자 처리를 위해 기본 제공 멤버십 시스템을 사용합니까? –

+0

현실적인 시나리오입니까? 동일한 브라우저에서 서로 다른 탭을 사용하여 로그인하는 두 명의 서로 다른 사용자? –

답변

관련 문제