Sessions interview questions and answers in ASP.NET

1)What is session?
   
   -Session is small block of memory maintained by website at server system
   -for every user separate session will be maintained
   -Each session can be tracked by using sessionid

2)What is the length of SessionId?

      -120bit encrypted string

3)What type of data can be stored in the session?

    -Any type of data can be stored

4)How much amount of data can be stored in Session?

       -any amount of data can be stored

5)What is default location for session?

      -In appDomain of website which is part process memory of asp.net worker process
      -for each website separate appDomain will be maintained

6)In asp.net page how can we access session data?

    - By using Session collection

7)What is default timeout for session?

     -20mins

8)How to transmit sessionid between client and server?

      -sessionid can be transmitted in two ways
      1) By using cookie: sessionid will be transmitted by using a cookie called aspnet_sessionid
         Disadvantage:
            If browser does not support cookies or user has disabled the cookies then it is not possible to hold sessionid
    
      2) Modified URL: the sessionid will be attached to url of website, and then it is called as modified url or munged URL

9) How to configure session for application?
    
    -By using SessionState element in Web.config
       <system.Web>
        <sessionState mode="InProc" timeout="20" cookieless="false"/>
       </sessionState>

10)When session will be destroyed?
       
      -When ever session timeout period has been expired
       -When ever webserver has been restarted or web.config file content has been modified
      -Session can be destroyed intentionally by invoking Session.Abandon()

11)If user closes browser window, then is session of user is get destroyed or not?

        -no, session memory is not destroyed. But user can not access session data. Once browser has been closed we are loosing
  sessionid so that session cannot be accessed.
     - Session memory will be destroyed once session timeout period has been expired

12)What are the events associated with session?
       
         1)Session_Start:it will be fired once session memory has been allocated
         2)Session_End:it will be fired before destroying  session memory by garbage collector
    Both these event handlers are defined in global.asax file

13)What is the difference between Session.Clear() and Session.Abandon()?
          
          -Session.Clear() will clear all items of session, but session memory is not destroyed. So that session_End event is not fired
          -Session, Abandon() will destroy the complete session memory so that Sesion_End  event will be fired

14)What are the different session modes?
        
    There are 5 modes
          
           1)Off: it will disable sessionstate for complete website
          
           2)InProc: it is default mode. Session memory will be allocated in appdomain of website
               
                       Advantage:
                               It gives better performance
                       Disadvantage:
                               -if traffic is more for website, session may not be maintained for specified timeout period.
                               -To allocate memory for new session older sessions will be destroyed automatically
          
           3)StateServer:Asp.net State server is windows service .some of sessions with simple data can be moved to state server
                              
                       Disadvantage:
                            -only session with value types can be stored, but not reference types
    
           4)SqlServer:A session with any type of data can be stored in SqlServer TempDb tables temporary for longer time ,but they will be losted once sqlserver has been restarted
                      
                       Disadvantage:                  
                            1. Extra burden of serialization and deserialization
                            2.It gives nearly 25% less performance as compared to InProc mode
           5) Custom: We can maintain session any type of data permanently by creating our own tables and database in sqlserver
                          
                       Disadvantage:
                            1. Extra burden of serialization and deserialization
                            2. It gives nearly 25% less performance as compared to InProc mode     

15) Where can we use session data in our website?
  
  -in any webpage for same user

16) Is it possible to use session of asp.net website in asp website?

      -yes, it is possible

17) How to disable sesionstate for a particular page?

                  -Goto source of .aspx 
       <% Page language="cs" EnableSessionState="false"    %>
  
    
  






   

Thanks for visiting this blog. How is the content?. Your comment is great gift to my work. Cheers.

No comments:

Post a Comment