public override void OnActionExecuting(ActionExecutingContext context) { base.OnActionExecuting(context); if (context.ActionDescriptor == null) return; if (context.ActionDescriptor.FilterDescriptors == null) return; if (context.IsActionDefined<IgnoreSessionScopedAttribute>()) return; m_Callback = context.Controller as IDataScopedCallback; if (m_Callback == null) return; if (m_Callback.SessionScopeFactory == null) return; m_SessionScope = m_Callback.SessionScopeFactory.CreateScope(); m_Callback.AfterEnter(m_SessionScope); }