Beispiel #1
0
        internal static void InvokeSessionEnd(object state, object source, EventArgs e)
        {
            HttpApplicationFactory factory = theFactory;
            MethodInfo             method  = null;
            HttpApplication        app     = null;

            lock (factory.available_for_end) {
                method = (MethodInfo)factory.session_end;
                if (method == null)
                {
                    return;
                }

                app = GetApplicationForSessionEnd();
            }

            app.SetSession((HttpSessionState)state);
            try {
                method.Invoke(app, new object [] { (source == null ? app : source), e });
            } catch (Exception) {
                // Ignore
            }
            RecycleForSessionEnd(app);
        }