Code written in your Global.asax file for Session_End is not firing than it may be because of following conditions:
Cause 1: You are not using InProc Session Mode — The mode attribute of the
Cause 2: You are not using Session — The Session End event can't fire if there's no Session to End. Check and make sure your application is storing information through the Session object?
Cause 3: Your code is imperfect — There might be error somewhere in the code that responds to the End event. For that you can try running your application in debug mode, with a short