Exemple #1
0
        internal void InitializeInstance(TService instance)
        {
            // Save instance if Hierarchy or Container Reuse
            if (Reuse != ReuseScope.None)
            {
                Instance = instance;
            }
            else
            {
                //Keep track of ReuseScope.None IDisposable instances to dispose of end of the request
                RequestContext.Instance.TrackDisposable(instance as IDisposable);
            }

            // Track for disposal if necessary
            if (Owner == Owner.Container && instance is IDisposable)
            {
                Container.TrackDisposable(instance);
            }

            // Call initializer if necessary
            if (Initializer != null)
            {
                Initializer(Container, instance);
            }
        }
        internal void InitializeInstance(TService instance)
        {
            // Save instance if Hierarchy or Container Reuse
            if (Reuse != ReuseScope.None)
            {
                Instance = instance;
            }

            // Track for disposal if necessary
            if (Owner == Owner.Container && instance is IDisposable)
            {
                Container.TrackDisposable(instance);
            }

            // Call initializer if necessary
            if (Initializer != null)
            {
                Initializer(Container, instance);
            }
        }