Example #1
0
        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;
        }
Example #2
0
        private void OnUserLogout()
        {
            IPersistentCache c = ServiceProvider.GetService <IPersistentCache>();

            if (c != null)
            {
                c.Persistent();
            }
            IDataBuffers db = ServiceProvider.GetService <IDataBuffers>();

            if (db != null)
            {
                db.Clear();
            }

            //UserConfigurationHelper.UploadConfiguration(SystemConfiguration.UserName, SystemDirectory.UserDataDirectory);
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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();
            }
        }