2012-10-18 2 views
2
내가 세션 객체

세션 개체가 반환 이상한 결과

그리고 내 코드에 쉼표로 구분 번호 (1,2,3,4 ...) 의 시퀀스 입력을 저장할

은 다음과 같습니다

string items = string.Empty; 

protected void Button1_Click(object sender, EventArgs e) 
    { 
        fillitem(TextBox1.Text); 
        showsession(); 
    } 

     void fillitem(string par1) 
     { 
      if (Session["itemvar"] != null) 
      { 
       items = Session["itemvar"].ToString(); 
       Session["itemvar"] = null; 
      } 

      items += par1 + ","; 
      Session["itemvar"] = items; 
     }  


void showsession() 
    { 
      string itempp = string.Empty; 
      if (Session["itemvar"] != null) 
      { 
       itempp = Session["itemvar"].ToString(); 
       int indexOfkoma = itempp.LastIndexOf(",", StringComparison.OrdinalIgnoreCase); 

       if (indexOfkoma != -1) 
       { 
        itempp = itempp.Substring(0, indexOfkoma); 

       } 
      } 
      Label1.Text = itempp; 

    } 

코드가 로컬에서 실행 중입니다. 내가 서버에 게시 할 때, 세션 객체 트랜잭션 아래 같은 이상한 결과를 반환

를 Button1_Click 이벤트를 한 결과 : 세션 [ "itemvar"] 반환 : 1

를 Button1_Click 이벤트 2 결과 : 세션 [ " 올바른 결과가 반환되어야합니다 : 1,2

Button1_Click 이벤트 3 결과 : 세션 [ "itemvar"] 반환 : 1,3 ----> 정확한 결과는 다음과 같아야합니다. 반환 : 1,2,3

Button1_Click 이벤트 4 결과 : 세션 [ "itemvar"] 반환 : 2,4 ----> 올바른 결과는 다음과 같이 반환되어야합니다. 1,2,3,4

어떤 이상한 생각이 들었는데, 이상한 행동의 원인은 무엇입니까?

+0

웹 팜에서 실행 중이십니까? 세션 상태 모드 란 무엇입니까? – nunespascal

답변

0

표시되는 동작은 웹 팜 구성에서 In-Process Session State (IIS의 경우 기본값)를 사용하면 발생할 수 있습니다.

귀하의 요청은 실제로 다른 응용 프로그램 서버 (자체 세션이있는 각각의 서버)에 의해 처리됩니다.

Configure Out-of-Process Session State 웹 팜 시나리오에서이 문제를 해결하려면

+0

빠른 응답을 주셔서 감사합니다 ... 나는 sugguestion을 시도합니다 .. –