protected void Application_Start(object sender, EventArgs e) { log4net.Config.XmlConfigurator.Configure(); Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(new Microsoft.Practices.ServiceLocation.ServiceLocatorProvider( delegate() { var p = Feng.DefaultServiceProvider.Instance; p.EnableLog(); p.EnableNHibernate(); p.EnableScript(); p.SetDefaultService <ICache>(new HashtableCache()); IDataBuffers bufs = new DataBuffers(); bufs.AddDataBuffer(new Cache()); bufs.AddDataBuffer(DBDataBuffer.Instance); p.SetDefaultService <IDataBuffers>(bufs); p.SetDefaultService <IApplicationDirectory>(new Feng.Windows.WindowsDirectory()); p.SetDefaultService <IExceptionProcess>(new LoggerExceptionProcess()); p.SetDefaultService <IManagerFactory>(new Feng.Windows.Utils.WinFormManagerFactory()); return(p); })); IDataBuffers db = ServiceProvider.GetService <IDataBuffers>(); if (db != null) { db.LoadData(); } //System.Web.Mvc.MvcHandler.DisableMvcResponseHeader = true; }
private void OnUserLogin() { DateTime?d = UserConfigurationHelper.DownloadConfiguration(SystemConfiguration.GlobalUserName, SystemDirectory.GlobalDataDirectory); //Feng.Utils.UserConfigurationHelper.DownloadConfiguration(SystemConfiguration.UserName, SystemDirectory.UserDataDirectory); var ass = System.Reflection.Assembly.GetCallingAssembly(); if (ass.Location == null) { return; } var assInfo = new System.IO.FileInfo(ass.Location); IPersistentCache c = ServiceProvider.GetService <IPersistentCache>(); if (c != null && c.CacheTime.HasValue) { //c.Unpersistent(); if ((!d.HasValue || d.Value < c.CacheTime.Value) && assInfo.LastWriteTime < c.CacheTime.Value) { c.Unpersistent(); } else { c.Destroy(); } } // Spring.net 默认是Singleton的 IDataBuffers db = ServiceProvider.GetService <IDataBuffers>(); if (db != null) { db.LoadData(); } if (!m_haveBindCommands) { CommnadBindingHelper.BindingCommands(); m_haveBindCommands = true; } }
private void AppHelperForm_Load(object sender, EventArgs e) { //ServiceProvider.SetDefaultService<IExceptionProcess>(new WinFormExceptionProcess()); //IPersistentCache c = new PersistentHashtableCache(); //ServiceProvider.SetDefaultService<ICache>(c); //ServiceProvider.SetDefaultService<IPersistentCache>(c); Feng.DBDef def = new Feng.DBDef(); ServiceProvider.SetDefaultService <IDefinition>(def); IDataBuffer buf = new Feng.DBDataBuffer(); ServiceProvider.SetDefaultService <IDataBuffer>(buf); IDataBuffers bufs = new DataBuffers(); bufs.AddDataBuffer(new Cache()); bufs.AddDataBuffer(buf); bufs.AddDataBuffer(def); ServiceProvider.SetDefaultService <IDataBuffers>(bufs); ServiceProvider.SetDefaultService <IRepositoryFactory>(new Feng.NH.RepositoryFactory()); ServiceProvider.SetDefaultService <Feng.NH.ISessionFactoryManager>(new Feng.NH.NHibernateSessionFactoryManager()); //ServiceProvider.SetDefaultService<IEntityMetadataGenerator>(new NHDataEntityMetadataGenerator()); //ServiceProvider.SetDefaultService<IMessageBox>(new Feng.Windows.Forms.MyMessageBox()); IEntityScript script = new PythonScript(); ServiceProvider.SetDefaultService <IScript>(script); ServiceProvider.SetDefaultService <IEntityScript>(script); IDataBuffers db = ServiceProvider.GetService <IDataBuffers>(); if (db != null) { db.LoadData(); } }