About the author

Vijay Kodali
E-mail me Send mail

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2024

Asp.net session on browser close

How to capture logoff time when user closes browser?

Or

How to end user session when browser closed?

These are some of the frequently asked questions in asp.net forums.

In this post I'll show you how to do this when you're building an ASP.NET web application.

Before we start, one fact:

There is no full-proof technique to catch the browser close event for 100% of time. The trouble lies in the stateless nature of HTTP. The Web server is out of the picture as soon as it finishes sending the page content to the client. After that, all you can rely on is a client side script. Unfortunately, there is no reliable client side event for browser close.

Solution:

The first thing you need to do is create the web service. I've added web service and named it AsynchronousSave.asmx. 

 Open Dialog

Make this web service accessible from Script, by setting class qualified with the ScriptServiceAttribute attribute... 

clip_image004

Add a method (SaveLogOffTime) marked with [WebMethod] attribute. This method simply accepts UserId as a string variable and writes that value and logoff time to text file. But you can pass as many variables as required. You can then use this information for many purposes.

clip_image006

To end user session, you can just call Session.Abandon() in the above web method.

To enable web service to be called from page’s client side code, add script manager to page. Here i am adding to SessionTest.aspx page

clip_image008

When the user closes the browser, onbeforeunload event fires on the client side. Our final step is adding a java script function to that event, which makes web service calls. The code is simple but effective

clip_image010

My Code

HTML:( SessionTest.aspx )

clip_image012

C#:( SessionTest.aspx.cs )

clip_image014

That’s’ it. Run the application and after browser close, open the text file to see the log off time.

clip_image016

The above code works well in IE 7/8. If you have any questions, leave a comment.


Posted by vijay on Thursday, April 29, 2010 6:09 PM
Permalink | Comments (22) | Post RSSRSS comment feed

To access local IIS Web sites, you must install the following IIS components: Internet Information Services IIS 6 Metabase and IIS 6 Configuration Compatibility

If you are getting following error after converting asp.net project to latest version..

To access local IIS Web sites, you must install the following IIS components: Internet Information Services IIS 6 Metabase and IIS 6 Configuration Compatibility

Try this solution:

open Control Panel, click Programs and Features

WindowsFeatures

Expand Web Management Tools, expand IIS 6 Management Compatibility, and then select the IIS 6 Metabase and IIS 6 configuration compatibility check box.

IIS 6 Metabase and IIS 6 configuration compatibility


Expand World Wide Web Services, expand Application Development Features, and then select the ASP.NET check box.

aspNet

 

To enable Visual Studio to debug applications, you must configure IIS 7.0 with the Windows Authentication module. Expand World Wide Web Services, expand Security, and then select the Windows Authentication check box.

 

WindowdsAuthentication

Reference: http://msdn.microsoft.com/en-us/library/aa964620.aspx


Categories: ASP.NET | ASP.Net 3.5 | Windows 7
Posted by vijay on Thursday, April 8, 2010 3:01 PM
Permalink | Comments (0) | Post RSSRSS comment feed