2013-07-11 2 views
2

아마도 어리석은 날에 묻는 것처럼 느껴지는 매우 어리석은 질문입니다.asp.net 세션 상태가 아닌 브라우저 요청

사용자가 브라우저에서 ASP.net 응용 프로그램의 웹 페이지를 방문합니다. 서버에서 세션 상태 (ID)가 설정됩니다 (Proc, db 등). 아주 기본.

이제 요청이 비 브라우저 응용 프로그램 (예 : 게시물을 실행하고 응답을 검색하는 콘솔 응용 프로그램)에서 발생한 경우입니까?

마스터 페이지에 세션 변수가 설정되어 있다고 가정 해 보겠습니다. 페이지를 방문하면이 세션 변수가 설정됩니다. 페이지에서 응답을 받기 위해 프로그래밍 방식으로 요청을 발행하면 어떻게됩니까? 이 세션 변수가 설정 되었습니까? 아니면 콘솔 앱 요청이 세션에 대한 액세스 권한을 갖고 있습니까?

MSDN에 따르면 브라우저 요청 일뿐입니다.

ASP.NET 세션 상태를 사용하면 사용자가 웹 응용 프로그램에서 ASP.NET 페이지를 탐색 할 때 사용자 값을 저장하고 검색 할 수 있습니다. HTTP는 상태 비 저장 프로토콜입니다. 즉, 웹 서버는 페이지에 대한 각 HTTP 요청을 독립 요청으로 처리합니다. 서버는 이전 요청 중에 사용 된 변수 값을 알지 못합니다. ASP.NET 세션 상태는 세션으로 제한된 시간 동안 동일한 브라우저의 요청을 식별하고 해당 세션 기간 동안 변수 값을 유지할 수있는 방법을 제공합니다. 기본적으로 모든 ASP.NET 응용 프로그램에 대해 ASP.NET 세션 상태가 사용됩니다.

답변

2

제대로 이해하면 콘솔 응용 프로그램에서 HTTP POST를 웹 서버로 전송합니다. 이 경우 콘솔 응용 프로그램이 웹 브라우저처럼 작동하고 세션이 초기화됩니다. 그러나 ASP.NET은 일반적으로 쿠키를 사용하여 세션 ID를 보내므로 브라우저 (또는 콘솔 응용 프로그램)는 동일한 HTTP 서버에 대한 향후 HTTP 요청에서 세션을 계속하기 위해 쿠키를 저장해야합니다.

+0

나는 미래의 요청에 대해서는 정말로 묻지 않는다. 페이지 요청이 마스터 페이지에서 설정된 세션에 의존하는 작업을 수행 중이라면 페이지에 액세스 할 수 있습니까? 다시 말하면 세션 요청과 관련하여 프로그램 요청은 브라우저 요청과 같은 역할을합니다. 나는 당신의 대답이 그럴 것이라고 지적합니다. –

+0

@codernet 참으로. –

+0

응용 프로그램 (프로젝트의 일부)을 통해 노출 된 WCF 서비스의 경우는 어떻습니까? 응용 프로그램 도메인에 대한 요청으로 세션에 대한 액세스 권한이 있습니까? –

관련 문제