本文整理汇总了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>();
}
示例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>();
}
示例3: Load
public void Load(Kernel kernel)
{
kernel.Register<IManipulateComponent, ManipulateComponent>();
kernel.Register<IPartitionComponent, PartitionComponent>();
kernel.Register<Module.List>();
}
示例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>();
}
示例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>();
}
示例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);
}