ASP.NET에서 관리하는 SessionCookie를 ashx 파일에서 HTTPHandler를 만들려면 어떻게해야합니까? ashx-File의 호출은 쿠키를 두지 않으므로 세션을 유지할 수 없습니다.ASP.NET에서 세션 쿠키를 배치 할 HTTPHandler (ashx) 만들기
배경 : HTTP 기반 웹 서비스 래퍼를 작성하려고합니다. 다른 클라이언트는 주어진 매개 변수를 제공하는 URL을 호출합니다. 자격 증명을 확인하고 타사 웹 서비스에 전화하여 변경된 결과를 다시 클라이언트에 전달합니다. 타사 웹 서비스 공급자는 계약을 통해 모든 다른 클라이언트 호출에 대해 SessionID를 요구합니다.
해결책 : HTTPHandler가 최선의 선택 인 것 같습니다. 그래서 나는 웹 사이트 프로젝트를 만들었다. 아쉽게도 ashx-File의 직접 호출은 응답에 세션 쿠키를 추가하지 않는 것으로 보이므로 동일한 클라이언트의 모든 호출마다 새 SessionID가 만들어집니다.
나는 다음과 같은 관련했다 :- 구현 마크 업 인터페이스 IRequiresSessionState 및/또는
- 추가
<sessionState mode="InProc" cookieless="false" timeout="20" />
의 Web.config에 IReadOnlySessionState을 의 Global.asax에 세션 상태에서
- 저장 뭔가 에있는 파일 Session_Start-Method HttpContext.Current.Session ("init") = 0
다른 시도 :
- 세션이 유지되고, 그래서 Default.aspx를 파일의 호출이 세션 쿠키를 두는 ASHX 파일을 호출하기 전에.
- 데이터베이스와 타임 스탬프로 "자체"세션을 구현하십시오.
버전 : 6.0
IIS의 버전은 무엇이며 web.config (system.web)의 관련 부분을 공유 할 수 있습니까? –
는 추가 정보를 추가했습니다. – Anytoe