Exemplo n.º 1
0
        internal static PageStatePersister ResolvePageStatePersister(Page page) {
            page.ShouldNotBeNull("page");

            if(IsDebugEnabled)
                log.Debug(
                    "Castle.Windsor의 Container로부터 PageStatePersister를 Resolve합니다. 단 PageStatePersister의 Lifestyle은 항상 Trasient 이어야 합니다!!!");

            IServerPageStatePersister persister;

            try {
                var arguments = new Hashtable { { "page", page } };
                persister = IoC.Resolve<IServerPageStatePersister>(arguments);

                persister.ShouldNotBeNull("persister");

                if(IsDebugEnabled)
                    log.Debug("Castle.Windsor Container로부터 PageStatePersister를 Resolve 했습니다. PageStatePersister=[{0}]",
                              persister.GetType().FullName);
            }
            catch(Exception ex) {
                if(log.IsWarnEnabled) {
                    log.Warn("PageStatePersister를 Resolve하는데 실패했습니다. 환경설정이 제대로 되었는지 확인하시기 바랍니다. CachePageStatePersister를 기본으로 제공합니다.");
                    log.Warn(ex);
                }

                persister = new SysCachePageStatePersister(page);
            }

            return (PageStatePersister)persister;
        }
Exemplo n.º 2
0
        internal static PageStatePersister ResolvePageStatePersister(Page page)
        {
            page.ShouldNotBeNull("page");

            if (IsDebugEnabled)
            {
                log.Debug(
                    "Castle.Windsor의 Container로부터 PageStatePersister를 Resolve합니다. 단 PageStatePersister의 Lifestyle은 항상 Trasient 이어야 합니다!!!");
            }

            IServerPageStatePersister persister;

            try {
                var arguments = new Hashtable {
                    { "page", page }
                };
                persister = IoC.Resolve <IServerPageStatePersister>(arguments);

                persister.ShouldNotBeNull("persister");

                if (IsDebugEnabled)
                {
                    log.Debug("Castle.Windsor Container로부터 PageStatePersister를 Resolve 했습니다. PageStatePersister=[{0}]",
                              persister.GetType().FullName);
                }
            }
            catch (Exception ex) {
                if (log.IsWarnEnabled)
                {
                    log.Warn("PageStatePersister를 Resolve하는데 실패했습니다. 환경설정이 제대로 되었는지 확인하시기 바랍니다. CachePageStatePersister를 기본으로 제공합니다.");
                    log.Warn(ex);
                }

                persister = new SysCachePageStatePersister(page);
            }

            return((PageStatePersister)persister);
        }