I have a .NET web application where I seem to lose my session on a post back after the user makes a payment on the payment gateway.
1. User signs into the portal
2. Based on a transaction in the portal, at one point is directed to the payment gateway portal
3. When calling the third party payment gateway we pass the call back URL to which the payment status is posted along with some details
4. When I ran it through the trace I see that the ASP.NET_SessionId cookie which was generated when user signed into my app was passed back to me by the payment gateway in step #3 above.
5. At this point when I try to retrieve the session details, they are missing.As a result I throw the user out back to login page instead of confirming the status of the payment,
I believe when the post back happens from the payment gateway the session does not get retrieved in my IIS. I checked AppPool recycle time-out (set to default 1740 ) which would have recycled the sessions. However this happens multiple times within a 1740 minutes time span. My default idle time out is 20 minutes. When it does occur it is not the case that the user was idle for more than 20 minutes
This is intermittent and may happen to few users at any given point in a day. What might be causing it and how do I track the sessions in IIS to see if it has really expired?