IT TIP

세션에 목록 저장

itqueen 2021. 1. 7. 20:14
반응형

세션에 목록 저장


Asp.net C #에서 세션 변수에 목록을 저장할 수 있습니까?


예, 모든 개체를 저장할 수 있습니다 (기본 설정으로 처리중인 세션 상태 인 ASP.NET을 사용하고 있다고 가정합니다).

Session["test"] = myList;

사용을 위해 원래 유형으로 다시 캐스팅해야합니다.

var list = (List<int>)Session["test"];
// list.Add(something);

Richard가 지적했듯이 객체를 직렬화 할 수 있어야하는 다른 세션 상태 모드 (예 : SQL Server)를 사용하는 경우 각별히주의해야합니다.


예. 어떤 플랫폼을 위해 작성하고 있습니까? ASP.NET C #?

List<string> myList = new List<string>();
Session["var"] = myList;

그런 다음 검색하려면 다음을 수행하십시오.

myList = (List<string>)Session["var"];

페이지 범위 외부의 클래스 파일에서 위의 방법 (항상 사용)이 작동하지 않음을 발견했습니다.
이 "컨텍스트"에서 다음과 같은 해결 방법을 찾았습니다.

HttpContext.Current.Session.Add("currentUser", appUser);

(AppUser) HttpContext.Current.Session["currentUser"]

그렇지 않으면 컴파일러는 세션 개체에서 개체를 가리킬 때 문자열을 예상했습니다.


이 시도..

    List<Cat> cats = new List<Cat>
    {
        new Cat(){ Name = "Sylvester", Age=8 },
        new Cat(){ Name = "Whiskers", Age=2 },
        new Cat(){ Name = "Sasha", Age=14 }
    };
    Session["data"] = cats;
    foreach (Cat c in cats)
        System.Diagnostics.Debug.WriteLine("Cats>>" + c.Name);     //DEBUGGG

YourListType ListName = (List<YourListType>)Session["SessionName"];

참조 URL : https://stackoverflow.com/questions/1259934/store-list-to-session

반응형