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);
}