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