Ejemplo n.º 1
0
        static DeviceDetector()
        {
            Log.Info("Start: Initializing the WURFL Manager");
            try
            {
                var wurflDataFilePath =
                    HttpContext.Current.Server.MapPath(String.Format("~/{0}", WebConfig.Get <string>("WURFL:DatabaseFilePath")).Replace("//", "/"));
                var configurer = new WURFL.Config.InMemoryConfigurer().MainFile(wurflDataFilePath);

                var patches = WebConfig.Get <string>("WURFL:PatchFilePaths").Split(new[] { '|', ';', ':' }, StringSplitOptions.RemoveEmptyEntries);

                if (patches.Length > 0)
                {
                    foreach (var patch in patches)
                    {
                        var wurflPatchFilePath = HttpContext.Current.Server.MapPath(String.Format("~/{0}", patch).Replace("//", "/"));
                        configurer.PatchFile(wurflPatchFilePath);
                    }
                }

                WurflManager = WURFLManagerBuilder.Build(configurer);
                Log.Info("Stop: Initializing the WURFL Manager");
            }
            catch (Exception ex)
            {
                Log.Error("DeviceDetector() ctor:", ex);
                throw;
            }
        }
Ejemplo n.º 2
0
        public static void RegisterWurfl(IMemoryCache cache)
        {
            var configurer   = new ApplicationConfigurer();
            var wurflManager = WURFLManagerBuilder.Build(configurer);

            cache.Set("WurflManagerKey", wurflManager);
        }
Ejemplo n.º 3
0
    private void Application_Start(Object sender, EventArgs e)
    {
        var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath);
        var configurer    = new InMemoryConfigurer().MainFile(wurflDataFile);
        var manager       = WURFLManagerBuilder.Build(configurer);

        HttpContext.Current.Cache[WurflManagerCacheKey] = manager;
    }
        protected void Application_Start(object sender, EventArgs e)
        {
            var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath);


            var configurer = new WURFL.Config.InMemoryConfigurer()
                             .MainFile(wurflDataFile);

            AnaysisStart.wurflContainer = WURFLManagerBuilder.Build(configurer);
        }
 public static void Register()
 {
     var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath);
     //var wurflPatchFile = HttpContext.Current.Server.MapPath(WurflPatchFilePath);
     var configurer = new InMemoryConfigurer()
                      .MainFile(wurflDataFile);
     //.PatchFile(wurflPatchFile);
     var manager = WURFLManagerBuilder.Build(configurer);
     //HttpContext.Current.Cache[WurflManagerCacheKey] = manager;
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Initializes the WURFL manager loading any required data and returns the instance.
        /// </summary>
        /// <param name="context">HTTP context</param>
        /// <param name="wurflDataPath">Relative WURFL data path</param>
        /// <param name="wurflPatchFilePath">Relative WURFL patch file path</param>
        /// <returns>IWURFLManager</returns>
        private static IWURFLManager InitializeWurflManager(HttpContext context, String wurflDataPath, String wurflPatchFilePath)
        {
            // Get the absolute path of required data files
            var wurflDataFile  = context.Server.MapPath(wurflDataPath);
            var wurflPatchFile = context.Server.MapPath(wurflPatchFilePath);

            // Initializes the WURFL infrastructure
            var configurer = new InMemoryConfigurer()
                             .MainFile(wurflDataFile)
                             .PatchFile(wurflPatchFile);
            var manager = WURFLManagerBuilder.Build(configurer);

            // Cache manager (and managed data) for later use
            context.Cache[WurflManagerCacheKey] = manager;
            return(manager);
        }
Ejemplo n.º 7
0
        protected void Application_Start()
        {
            RegisterUnityContainer();

            AutoMapperSettings.RegisterControllerAutoMappers();
            AutoMapperSettings.RegisterServiceAutoMappers();
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            //DateTime time = DateTime.Now;
            var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath);

            var configurer = new InMemoryConfigurer()
                             .MainFile(wurflDataFile);

            WURFLManagerBuilder.Build(configurer);
            //DateTime time2 = DateTime.Now;
            //var wurfltime = time.Millisecond - time2.Millisecond;
            //var breakhere = true;
        }
Ejemplo n.º 8
0
        public void Initial()
        {
            string wurflDataFile  = HttpContext.Current.Server.MapPath(Constants.WurflDataFilePath);
            string wurflPatchFile = HttpContext.Current.Server.MapPath(Constants.WurflPatchFilePath);

            InMemoryConfigurer configurer = new InMemoryConfigurer().MainFile(wurflDataFile).PatchFile(wurflPatchFile);
            IWURFLManager      manager    = WURFLManagerBuilder.Build(configurer);

            AppCtx.Cache.AddObject(Constants.WurflManagerCacheKey, manager);

            #region 初始化所有的设备组实现类
            if (deviceGroups == null)
            {
                deviceGroups = new List <IDeviceGroup>();
            }
            if (deviceGroups.Count == 0)
            {
                GeneralConfigInfo si = GeneralConfigs.GetConfig();
                if (string.IsNullOrEmpty(si.DeviceGroups))
                {
                    Exception ex = new Exception("请配置IDeviceGroup设备组接口的实现类,在general.config里配置。");
                    Framework.LogHelper.WriteLog(GetType(), ex);
                    throw ex;
                }
                string[] DeviceGroups = si.DeviceGroups.Split(';');
                foreach (string s in DeviceGroups)
                {
                    Assembly     assembly  = Assembly.Load(s.Split(',')[1]);
                    string       className = s.Split(',')[0];
                    IDeviceGroup gGroup    = (IDeviceGroup)assembly.CreateInstance(className, true);
                    gGroup.Initial();
                    deviceGroups.Add(gGroup);
                }
                deviceGroups.Sort(new DeviceGroupComparer());
                deviceGroups.Reverse();
            }

            #endregion
        }
Ejemplo n.º 9
0
    static MobileActionFilterAttribute()
    {
        IWURFLConfigurer configurer = new ApplicationConfigurer();

        WurflManager = WURFLManagerBuilder.Build(configurer);
    }