Exemplo n.º 1
0
 public static void RegisterBundles()
 {
     BundleManage.Add(bundles => bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                                                 "~/Content/Scripts/jquery-1.8.3.min.js", "~/Content/Scripts/laytpl.js", "~/Content/Scripts/library.js"))
                      );
     BundleManage.Add(bundles => bundles.Add(new ScriptBundle("~/Content/Scripts/easyuiext/").Include(
                                                 "~/Content/Scripts/easyui/locale/easyui-lang-zh_CN.js", "~/Content/Scripts/easyui/validateExt.js"))
                      );
     BundleManage.Add(bundles => bundles.Add(new StyleBundle("~/Content/Scripts/easyui/themes/default/style").Include("~/Content/Scripts/easyui/themes/default/easyui.css"))
                      );
 }
Exemplo n.º 2
0
        /// <summary>
        /// 初始化。
        /// </summary>
        public void Initialize()
        {
            //注册插件控制器工厂。
            ControllerBuilder.Current.SetControllerFactory(new PluginControllerFactory());
            //注册插件模板引擎。
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new PluginRazorViewEngine());

            var         plugins         = fileParser.Load();
            List <Type> controllerTypes = new List <Type>();

            foreach (var plugin in plugins)
            {
                //初始化插件。
                if (plugin.Status == PluginStatus.Usable)
                {
                    InitPlugin(plugin);
                }
                if (plugin.Status == PluginStatus.Usable && plugin.Type == PluginType.Module)
                {
                    var baseType = typeof(AreaRegistration);
                    foreach (var t in plugin.Types)
                    {
                        if (t.BaseType.Name == baseType.Name)
                        {
                            AreaRegistration registration = (AreaRegistration)Activator.CreateInstance(t);
                            registration.CreateContextAndRegister(RouteTable.Routes, null);
                        }
                        else if (t != null &&
                                 t.IsPublic &&
                                 t.Name.EndsWith("Controller", StringComparison.OrdinalIgnoreCase) &&
                                 !t.IsAbstract &&
                                 typeof(IController).IsAssignableFrom(t))
                        {
                            controllerTypes.Add(t);
                        }
                    }
                }
            }
            RouteTable.Routes.MapMvcAttributeRoutesForTypes(controllerTypes);
            RouteManage.RegisterAllRoutes(RouteTable.Routes);
            BundleManage.RegisterAllBundles(BundleTable.Bundles);
            WebIoc.Register(b => b.RegisterTypeFromDirectory(null, AppDomain.CurrentDomain.SetupInformation.PrivateBinPath));
            WebIoc.Register(b => b.RegisterTypeFromDirectory(null, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"App_Data\Plugins")));
            WebIoc.Register(b => b.RegisterControllersFromDirectory(null, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"App_Data\Plugins")));
            WebIoc.Register(b => b.RegisterControllers(AppDomain.CurrentDomain.GetAssemblies()));
            WebIoc.Instance.OnBuilded += c => DependencyResolver.SetResolver(new AutofacDependencyResolver(c));
            WebIoc.Instance.Build();
        }