2011-05-12 7 views
0

내 데이터베이스에 로그인 한 후 userId 및 expiresDate 열이 삽입 된 새 행이있는 간단한 mechanizm을 사용합니다. 모든 것이 정상이지만 어떻게 사용자가 웹 사이트를 떠날 것인지, 브라우저를 닫는 지 등을 알 수 있습니까?사용자가 로그인했는지 어떻게 알 수 있습니까?

두 번째로 그가 사이트의 다른 페이지를보고있는 경우 어떻게 그의 세션을 길게 만들 수 있습니까? 나는 항상 데이터베이스를 업데이트해야합니까?

일반적인 애플릿은 무엇입니까?

그것은 메신저입니다, 나 때문에 LIVECHAT에 나는 사용자가 웹 사이트를 떠나면 해당 클라이언트가 확인 될 그들과 함께

답변

0

모든 채팅 할 수 있지만 어떻게 알 수 있도록 사용자가 온라인 알아야합니다 대한 portant, 브라우저를 닫는 등?

이것을 알 수있는 확실한 방법은 없습니다. 일정 기간 사용하지 않으면 세션이 만료됩니다.

두 번째로 사이트에서 다른 페이지를보고있는 경우 어떻게 세션을 연장 할 수 있습니까? 나는 항상 데이터베이스를 업데이트해야합니까?

예. 이 경우 standard session library을 사용해야하며이를 처리해야합니다.

그것 때문에 내가

당신이 채팅 시스템을 구현하는 경우, 다음을 사용하는 클라이언트가 그들과 대화를 나눌 수 있도록 사용자가 온라인 상태를 알 필요가있는 LIVECHAT에, 나를 위해 portant 메신저입니다 하트 비트 시스템. 클라이언트가 JS를 사용하여 매분마다 "I 'm still alive"메시지를 보냅니다.

1

나는 당신이 찾고있는 것은 모든 온라인 사용자의 세부 사항을 얻을하는 데 도움이됩니다 데이터베이스에 세션을 저장하는

if(HttpContext.Current.User.Identity.IsAuthenticated) 
1

사용 SQLServer에 주 서비스라고 생각합니다.

0

David의 답변에 따르면 사용자가 페이지를 떠나는 시점을 식별 할 수있는 구체적인 방법은 없습니다. 사용자가 서버에 여전히있는 서버를 보내려면 채팅 시스템에서 AJAX 나 다른 방법을 사용해야합니다. 사용자가 몇 분 동안 응답하지 않으면 사용자가 사이트를 떠나 서버에서 업데이트해야한다고 가정합니다.

관련 문제