작성
·
229
0
서버를 최초로 실행했을때.
간단한 로직을 실행하고. HomeController 의 public static 전역변수에 값을 넣어주려고 하는데.
어디서 해당 로직을 작성해야 할까요?
답변 5
0
잘못이해했었네요 ㅠ
먼저 startup.cs의 Configure함수에 app.UseSession(); 를 추가하셔야 합니다.
세션이 만료될 때 간단한 방법으로는 해당 세션의 null 여부를 체크하시거나 아니면 좀 더 디테일하게 보여주고 싶은 경우에는 아래 링크를 참조하시기 바랍니다.
아직 닷넷코어에서 세션이 만료되는걸 추적하는 메카니즘이 없습니다. 이에따라 위 링크에서는 임의로 만들어놓은 과정이네요.
0
0
안녕하세요. global.asax는 mvc이전버전인 webform에서 쓰이는 구조입니다.
asp.net core > asp.net mvc > asp.net webform
startup.cs에 추가하신거 그대로 쓰시면 세션 사용 가능합니다.
0
아 말씀해주신데로. startup 에 static 전역변수로 선언하니 되네요 :)
그런데 혹시 세션 타임아웃 될때. 어떤 코드를 실행해주고 싶은데. 어디에 코드를 작성해야 할까요.
(구글링 해보니. global.asax 에 해당 타임아웃 이벤트가 있다는데, 강사님 따라서 프로젝트 생성하니. 해당 파일이 따로 안보이네요 ㅠ)
startup.cs 에 아래와 같이 하니. 세션 사용은 됩니다.
// 세션 사용
services.AddSession(options =>
{
// 세션 유지 시간
options.IdleTimeout = TimeSpan.FromMinutes(10);
});
0
서버를 최초로 실행했을 때 startup.cs 파일을 제일 먼저 실행하게 되고 그 후에 라우팅룰에 따라 HomeController를 실행하게 됩니다. 어떤 로직을 생각하시는거세요?