guaike
guaike

Reputation: 2491

ASP.net: How to list a WebApplication All users Session

I want to know my website memory usage,first i want to know Session detail of all users,this will help me decide whether to change sessionState Mode to "SqlServer" or "StateServer".

How can i do?

Thanks

Upvotes: 0

Views: 297

Answers (2)

Wyatt Barnett
Wyatt Barnett

Reputation: 15673

For website memory usage, I would look at perfmon. If I really wanted to count how much memory I was using in each user session, I would do that count when adding not when abandoning the session. This could be tricky if you've got Session["foo"]=bar all over the place, it needs to be wrapped up somehow.

If you do change to out of process session state, you will need to test everything that touches the session. Your session variables are crossing process boundaries, they need to be serializable and there are definitely some things that don't work.

Upvotes: 1

Nisha_Roy
Nisha_Roy

Reputation: 524

I am not sure if this will help you solve the problem but you can try this piece of code in Session_End event... Assuming that this event is fired from your logout process.. This is the last of the events where Session Variable is available.

protected void Session_End(object sender, EventArgs e)
 {
            string strMessage = string.Empty;
            for (int i = 0; i < this.Session.Count; i++)
            {
                strMessage += string.Format("Session of {0} Value is {1}", i.ToString(), this.Session[i].ToString());
                strMessage += "/n";
            }
        }

this.Session.Count should give you the number of sessions in the server for the application. This solution may hold good only if your application is hosted in single web server and not on a web server farm. I am ignorant of how sessions are handled in a web server farm.

Upvotes: 0

Related Questions