April 2009 Entries

My Sessions at Great Indian Developer Summit 2009

It was great to be present at the GIDS this year and I had equal excitement as much the attendees had in hearing from us on our latest technologies.

On the GIDS.Net Day, I presented on ADO.NET Data Services (“Astoria”) as well as ASP.NET 4.0 Roadmap.

On the GIDS.Web Day, I presented on ASP.NET, jQuery and AJAX Control Toolkit.  I have uploaded all the presentations at

Also, I have uploaded the Demos at

Would look forward to hear from you the feedbacks.

Cheers !!

MS AntiSpyware 2009 is Fake


If you recently faced any security alert showing MS AntiSpyware 2009 and possible messages of your computer security being compromised, take a deep breath and cool down.  It is a fake program (spyware) and installs itself with some codec's into your system.

It keeps popping up from your Tray Icon saying that your computer system’s privacy is compromised and you would need to activate the trial version by purchasing the licensed version.

In fact this one keeps alerting every 5 minutes and shows fake scan reports of possibly infected files.

The term MS shows as if it is from Microsoft but it is from a company claiming CirrusSoft and is installed into your Add/Remove Programs.

Go ahead and remove this from Add/Remove Programs and you should be able to get rid of this fake spyware/malware.

Additionally you would want to clear your Temp folder, particularly for any EXEs which seem to have been downloaded recently.  They may be EXEs starting with weird numbers or names.  To clear the temp folder, in Windows Vista, navigate to the user’s AppData folder i.e.  C:\Users\<username>\AppData\Local\Temp and in case of Windows XP, it would be inside the user’s Documents and Setings folder.

Needless to say have your antivirus signatures updated and make sure that you don’t get tricked into this fake spyware which has been reported by many users.  An internet search for this would also give you more pointers on different ways of removing it.

Cheers !!!

ASP.NET Session State shared between IE Tabs and IE8


One of the common problems reported with tabbed browsing in Internet Explorer is that the session state is shared between the tabs.  Sample scenario below:-

1. User A opens an IE instance and logs into a website where a session is created.

2. User A opens another tab and tries to access the same website.  Without logging in, the user is already inside the session.

3. In this case, its clear that the session is shared between the tabs.

Problems with this behavior

User retrieves a particular record in both the IE Tabs.  On one tab, the user deletes the particular record.  Parallely on the other tab, user tries to modify the record.  There will be a data instability and would throw error.

This behavior has been complained a lot.

However, imagine if it were the other way around i.e.

Sessions not shared between the tabs

Your users signed into your site and are visiting a particular page where there are a list of links (different product links).  If your users want to compare 2 products by opening them in 2 different tabs at the same time, they would have to login again for the 2 new tabs.  That would be pretty annoying since most people open multiple windows when accessing the same site.

You have a popup in your site, where you want to quickly populate some information and get back to the original site, this wouldnt work since the popup doesnt share the session.

So there are pros and cons to this behavior and people have provided workarounds to check if there is a new instance of IE (not a great approach) or set a hidden field (somewhat okay) to check if it is the same browser etc.,

The reason for this behavior is attributed to the single process that runs the tabs and hence sharing the same session state.

ASP.NET 2.0 offered a simpler solution by way of the following config setting

<sessionState mode="InProc" cookieless="UseUri"></sessionState>

This setting basically appends the Session to the URL of the browser, so your typical URL looks like http://localhost/SampleWeb/(S(afdg3ires1ik0lmjm3pkjtzl))/default.aspx    where the highlighted portion manages the session identification.

By this way, one can open multiple tabs and still have different sessions.  The only issue with this would be the absolute URLs that are hard coded, referred to, since they change with the appending of the session URI.

In IE8 each of the tabs run under a separate process.  This would make you think that the session problem gets lost (or problem is starting :))

However, by default IE8 tabs also share the session state between them to avoid lesser sessions shared within a frame process.  Once you launch IE8, there are 2 processes started – frame process and tab process.  The frame process manages the tab processes and some of the UI rendering where the tab processes does rest of the stuff - website management.  

When an additional tab is opened, there is one more tab process added and it is also managed by the same frame process which got created initially. 

If you wish to override this behavior and get a new session, you can chose “File – New Session” .  When you do this, instead of one additional process, there are 2 processes created – a frame process and tab process and these dont share session with the original frame process.

Hence, even if you are logged in to a site and have access to session, if you chose “File – New Session” and navigate to the site, it will not share the session.

If you would like to learn more on this, visit the IE Team’s blog post at IE 8 and Reliability

Cheers !!!

Tech Ed India – Developer Tracks


I am sure you might have heard that Tech Ed India is happening this year.  If you haven’t please check out the MSDN India Blog Post  You can even follow Tech Ed India on twitter at

I wanted to ensure that in this Tech Ed we provide the best content possible to you so that you can equip yourself to meet the tough challenges in these days and also go back and use them for creating the best applications for your Customers.

I own the Developer Content for Tech Ed India and have designed tracks around .NET Fundamentals, Web Development ( 3 days including Silverlight), Client Development, Azure, Service Layer Technologies etc., so that it fits the spectrum of tenets you work on.

There is UI Layer, rich UI Layer for Web, Data and Services Layer, Cloud based architecture etc.,

And even the Tracks are designed across the days in a particular order.  For example, if you simply chose Web Development Track you can get all that you want to know about ASP.NET 4.0 and Visual Studio 2010 for Web Developers as well as Silverlight 3.

If you switch to the Services Track on Day 2, you can get to hear on the Middle Tier Tools and Technologies.

You can of course switch to the Data Track or back to the Web Track based on your work area.

Similar themes go around the Office and Collaboration Suite, Visual Studio Team System track etc.,

While I would keep posting on the stuff I use to prepare for Tech Ed India, I would like to hear from you on what you would want to get covered.  Please drop a line using the Feedback form or put it up in the comments below.

For registering for Tech Ed India, visit

Cheers !!!