コード例 #1
0
            public override void Load()
            {
                Kernel.Bind <DbContext, DataAccessContext>().ToMethod(activationContext => DataAccessContext.CreateContext()).InRequestScope();
                Kernel.Bind <IDataBaseManager>().To <DataBaseManager>();
                Kernel.Bind <ApplicationUserManager>().ToSelf();

                Kernel.Bind <AuthenticationConfiguration>().ToSelf();
                Kernel.Bind <IOAuthAuthorizationServerProvider>().To <ApplicationOAuthProvider>();
                Kernel.Bind <IAuthenticationTokenProvider>().To <RefreshTokenProvider>();

                Kernel.Bind <IIdentityTokenPropertiesFormater <User, Guid> >().To <ApplicationPropertiesFormater>();

                Kernel.Bind <IUserStore <User, Guid> >().To <UserStore <User, Role, Guid, UserLogin, UserRole, Claim> >();

                Kernel.Bind <IRoleDefinitionProvider>().To <RoleDefinitionProvider>();

                Kernel.Bind <IAuthClientRepository>().To <AuthClientRepository>();

                Kernel.Bind <IUserRepositoryResolver>().To <UserRepositoryResolver>();
                Kernel.Bind <IUserRepository>().To <UserRepository>();

                Kernel.Bind <IRoleRepositoryResolver>().To <RoleRepositoryResolver>();
                Kernel.Bind <IRoleRepository>().To <RoleRepository>();

                Kernel.Bind <IApplicationLogger>().ToMethod(context =>
                {
                    var targetType = context.Request.Target.Type;
                    return(new Logger(targetType));
                });

                #region Kendo Grid

                #region Sorting

                Kernel.Bind(typeof(IDynamicSortingService <>)).To(typeof(DynamicSortingService <>));
                Kernel.Bind(typeof(IPropertyOrderExpressionBuilderLocator <>)).To(typeof(PropertyOrderExpressionBuilderLocator <>));
                Kernel.Bind(typeof(IPlainPropertyOrderExpressionBuilder <>)).To(typeof(PlainPropertyOrderExpressionBuilder <>));

                #endregion

                #region Filtering

                Kernel.Bind(typeof(IFilterExpressionBuilder <>)).To(typeof(FilterExpressionBuilder <>));

                Kernel.Bind <IOwnPropertyAccessStrategy>().To <OwnPropertyAccessStrategy>();
                Kernel.Bind <INavigationPropertyAccessStrategy>().To <NavigationPropertyAccessStrategy>();

                Kernel.Bind <IPropertyAccessDecorator>().To <DateTimePropertyAccessDecorator>();

                Kernel.Bind <IPropertyAccessStrategyChainBuilder>().To <PropertyAccessStrategyChainBuilder>();
                Kernel.Bind <IValueTypeResolver>().To <EnumValueTypeResolver>();

                Kernel.Bind <IPrimitiveTypeOperatorBindingFactory>().To <PrimitiveTypeOperatorBindingFactory>();
                Kernel.Bind <IStringOperatorBindingFactory>().To <StringOperatorBindingFactory>();

                Kernel.Bind <IFilterUnionOperatorBindingFactory>().To <FilterUnionOperatorBindingFactory>();

                Kernel.Bind <IValueExpressionService>().To <ValueExpressionService>();
                Kernel.Bind <IOperatorExpressionFactoryService>().To <OperatorExpressionFactoryService>();
                Kernel.Bind <IFilterUnionExpressionFactoryService>().To <FilterUnionExpressionFactoryService>();

                #endregion

                #endregion
            }