2012-09-17 2 views
-1

샘플을 작성하여 내 호스트에서 테스트했습니다 (공유 됨). 내 web config에 machineKey를 배치하십시오. 내가 저장 데이터의 트리 형식 작성 :사용자 로그인 정보를 저장 하시겠습니까?

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      Session["x"] = "A"; 
      HttpContext.Current.Application.Add("y", "B"); 
      Application["z"] = "C"; 
     } 
    } 

를 내 양식에 버튼을 넣어 그 이벤트에 쓰기 :

 protected void Button1_Click(object sender, EventArgs e) 
     { 
      try 
      { 
      Label1.Text = Session["x"].ToString(); 
     } 
     catch (Exception err) 
     { 
      Label1.Text = err.Message; 
     } 

     try 
     { 
       Label2.Text = HttpContext.Current.Application["y"].ToString(); 
     } 
     catch (Exception err) 
     { 
      Label2.Text = err.Message; 

     } 

     try 
     { 
      Label3.Text = Application["z"].ToString(); 
     } 
     catch (Exception err) 
     { 
      Label3.Text = err.Message; 
     } 


    } 

IIS 재활용 및 언제든지 케이스에 어떤 캐시/메모리 내용을 버릴 때 모든 데이터를 모두 잃어 버렸습니다. 모든 객체 참조는 객체의 인스턴스로 설정되지 않습니다.

사용자가 와서 로그인하려면 어떻게해야합니까? iis를 재활용 할 때까지 올바른 사용자의 ID 또는 사용자 이름을 저장할 수있는 방법은 무엇입니까? 사용자가 로그인했음을 알 수 있습니까? 쿠키는 사용자의 사용자 이름 및 비밀번호와 같은 데이터를 저장하는 데 좋은 쿠키입니까?

+0

의 파일 기반 공급자를 시도 할 수있는 서버의 파일을 저장할 수있는 경우 쿠키는 사용자 이름과 사용자의 암호와 같은이 데이터를 저장하기에 좋은이 있나요? > 아니, 그건 아주 나쁜 생각이야. –

답변

0

SQL Server와 같이 정보를 저장하는 데보다 영구적 인 위치를 사용해야합니다. This Microsoft article은 SQL Server를 사용하여 세션 상태를 저장하도록 사이트를 구성하는 방법을 설명합니다.

이 작업을 수행하는 방법을 설명하는 다른 블로그 기사의 톤이있다, 그래서 당신은 당신의 머리 :

편집 긁적 왼쪽되지 않습니다 : 당신이 볼 필요가 있습니다처럼 보이는 the available session state modes보고, 확인을 웹 팜 환경에서 실행되는 ASP.NET 사이트를 지원하기 때문에 StateServer 모드에 있습니다.

this article은 웹 팜에서 SQL Server 세션 상태를 사용하는 방법을 설명합니다.

+0

Jason에게 감사하지만 내 사이트는 공유 웹 팜에 있으며 SQL Server 설정을 구성 할 수 없습니다. – motevalizadeh

관련 문제