public bool IsIdle(InstanceContext instanceContext)
        {
            ActorCompleted actorCompleted = instanceContext.Extensions.Find <ActorCompleted>();

            if (actorCompleted == null)
            {
                return(false);
            }
            else
            {
                bool idle = m_PreviousProvider.IsIdle(instanceContext);
                return(idle);
            }
        }
示例#2
0
        internal bool CanUnload(InstanceContext instanceContext)
        {
            if (InstanceContextProviderBase.IsProviderSingleton(instanceContextProvider))
            {
                return(false);
            }

            if (InstanceContextProviderBase.IsProviderPerCall(instanceContextProvider) ||
                InstanceContextProviderBase.IsProviderSessionful(instanceContextProvider))
            {
                return(true);
            }

            //User provided InstanceContextProvider. Call the provider to check for idle.
            if (!instanceContextProvider.IsIdle(instanceContext))
            {
                instanceContextProvider.NotifyIdle(InstanceContext.NotifyIdleCallback, instanceContext);
                return(false);
            }
            return(true);
        }