当前位置: 首页>>代码示例>>C#>>正文


C# Kernel.Register方法代码示例

本文整理汇总了C#中Kernel.Register方法的典型用法代码示例。如果您正苦于以下问题:C# Kernel.Register方法的具体用法?C# Kernel.Register怎么用?C# Kernel.Register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Kernel的用法示例。


在下文中一共展示了Kernel.Register方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Load

		public void Load(Kernel kernel)
		{
			kernel.Register<IFieldComponent, FieldComponent>();
			kernel.Register<IMethodComponent, MethodComponent>();
			kernel.Register<IPropertyComponent, PropertyComponent>();
			kernel.Register<ITransposeComponent, TransposeComponent>();
			kernel.Register<IDynamicComponent, DynamicComponent>();
			kernel.Register<IConstructorComponent, ConstructorComponent>();
			kernel.Register<IAttributeComponent, AttributeComponent>();
			kernel.Register<IEqualityComponent, EqualityComponent>();
			kernel.Register<Module.Object>();
		}
开发者ID:konkked,项目名称:Underscore.cs,代码行数:12,代码来源:Object.cs

示例2: Load

		public void Load(Kernel kernel)
		{
			kernel.Register<ICompactComponent, CompactComponent>();
			kernel.Register<IFunctionComponent, FunctionComponent>();
			kernel.Register<IMathComponent, MathComponent>();
			kernel.Register<IObjectComponent, ObjectComponent>();
			kernel.Register<IStringComponent, StringComponent>();
			kernel.Register<Module.Utility>();
		}
开发者ID:konkked,项目名称:Underscore.cs,代码行数:9,代码来源:Utility.cs

示例3: Load

		public void Load(Kernel kernel)
		{
			kernel.Register<IManipulateComponent, ManipulateComponent>();
			kernel.Register<IPartitionComponent, PartitionComponent>();
			kernel.Register<Module.List>();
		}
开发者ID:konkked,项目名称:Underscore.cs,代码行数:6,代码来源:List.cs

示例4: Load

		public void Load(Kernel kernel)
		{
            kernel.Register<IApplyComponent, ApplyComponent>();
			kernel.Register<IComposeComponent, ComposeComponent>();
			kernel.Register<IBindComponent, BindComponent>();
            kernel.Register<IPartialComponent, PartialComponent>();
            kernel.Register<ISplitComponent, SplitComponent>();
            kernel.Register<ICurryComponent, CurryComponent>();
            kernel.Register<IUncurryComponent, UncurryComponent>();
			kernel.Register<IConvertComponent, ConvertComponent>();
			kernel.Register<IAfterComponent, AfterComponent>();
            kernel.Register<IBeforeComponent, BeforeComponent>();
            kernel.Register<IDebounceComponent, DebounceComponent>();
            kernel.Register<IDelayComponent, DelayComponent>();
            kernel.Register<IOnceComponent, OnceComponent>();
            kernel.Register<IThrottleComponent, ThrottleComponent>();
            kernel.Register<IAfterComponent, AfterComponent>();
            kernel.Register<ICacheComponent, CacheComponent>();
			kernel.Register<ICompactComponent, CompactComponent>();
			kernel.Register<IAndComponent, AndComponent>();
            kernel.Register<IOrComponent, OrComponent>();
            kernel.Register<INegateComponent, NegateComponent>();
			kernel.Register<Module.Function>();
		}
开发者ID:konkked,项目名称:Underscore.cs,代码行数:24,代码来源:Function.cs

示例5: Load

		public void Load(Kernel kernel)
		{
			kernel.Register<ICompareComponent, CompareComponent>();
			kernel.Register<ICreationComponent, CreationComponent>();
			kernel.Register<IDelegationComponent, DelegationComponent>();
			kernel.Register<IFilterComponent, FilterComponent>();
            kernel.Register<IMapReduceComponent, MapReduceComponent>();
			kernel.Register<ISetComponent, SetComponent>();
			kernel.Register<IZipComponent, ZipComponent>();
            kernel.Register<IUnZipComponent, UnZipComponent>();
            kernel.Register<IPartitionComponent, PartitionComponent>();
			kernel.Register<List.IPartitionComponent, List.PartitionComponent>();
			kernel.Register<Module.Collection>();
		}
开发者ID:konkked,项目名称:Underscore.cs,代码行数:14,代码来源:Collection.cs

示例6: Initialize

        internal static void Initialize()
        {
            if (initialized) return;
            initialized = true;
            Action<IConfiguration> configure = x => { };
            if (HttpContext.Current != null)
            {
                var x = AppDomain.CurrentDomain.SetupInformation.CachePath;
                var dir = HttpContext.Current.Server.MapPath("~/bin");
                Configuration = new AspNetAppConfiguration();
                var dllFiles = (from f in Directory.GetFiles(dir, "*.dll", SearchOption.TopDirectoryOnly)
                                select f)
                    .ToDictionary(f => Path.GetFileName(f).ToUpper());

                var target = Path.Combine(x, "manual");
                if (Directory.Exists(target))
                    Directory.Delete(target, true);
                Directory.CreateDirectory(target);
                foreach (var assemblyFilename in Directory.GetFiles(x, "*.dll", SearchOption.AllDirectories))
                {
                    if (dllFiles.ContainsKey(Path.GetFileName(assemblyFilename).ToUpper()))
                    {
                        Configuration.AddRoutesAssembly(Assembly.LoadFile(assemblyFilename));
                        dllFiles.Remove(Path.GetFileName(assemblyFilename).ToUpper());
                    }
                }
                foreach (var missing in dllFiles.Values)
                {
                    var targetDll = Path.Combine(target, Path.GetFileName(missing));
                    File.Copy(missing, targetDll);
                    Configuration.AddRoutesAssembly(Assembly.LoadFile(targetDll));
                }
                var currentApp = HttpContext.Current.ApplicationInstance as IWebOnDietApplication;
                if (currentApp != null)
                {
                    configure = currentApp.Configure;
                    Configuration.AddRoutesAssembly(currentApp.GetType().BaseType.Assembly);
                }

            }
            else
            {
                if (Embedded.Server.CurrentContext != null)
                {
                    Configuration = new AspNetAppConfiguration();
                    configure = Embedded.Server.Current.Configure;
                }
                else
                    throw new Exception("No hosting found");
            }
            configure(Configuration);

            var routedMethods = (from assembly in Configuration.RouteAssemblies
                                from type in assembly.GetExportedTypes()
                                where type.IsInterface == false
                                      && type.IsAbstract == false
                                from method in type.GetMethods(BindingFlags.Public | BindingFlags.Instance)
                                from attr in method.GetCustomAttributes(true)
                                let routeAttribute = attr as IRouteAttribute
                                where routeAttribute != null
                                orderby routeAttribute.Precedence descending
                                select new { RouteAttribute = routeAttribute, Method = method }).ToArray();
            var routes = from r in routedMethods
                         let route = r.RouteAttribute.Route.IndexOf(':') > 0
                                       ? (IRoute)new PatternRoute(r.RouteAttribute.Route) { Target = new TargetMethod(r.Method) }
                                       : (IRoute)new ExactMatchRoute(r.RouteAttribute.Route) { Target = new TargetMethod(r.Method) }
                         select route;

            Routes.AddRange(routes);

            var routeClasses = routedMethods.Select(m => m.Method.DeclaringType).Distinct().ToArray();

            Container = new Kernel();
            foreach (var routeClass in routeClasses)
            {
                Container.Register(routeClass, routeClass);
            }

            var templateEngine = new NTemplateEngine(AppDomain.CurrentDomain.SetupInformation.PrivateBinPath);
            templateEngine.Initialize();
            wod.TemplateEngine = templateEngine;
            wod.Render = new Renderer(templateEngine);
        }
开发者ID:kenegozi,项目名称:webondiet,代码行数:83,代码来源:WebOnDietHttpHandlerFactory.cs


注:本文中的Kernel.Register方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。