示例#1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();

            #region 已注释
            //注册服务连接数据库
            //services.AddDbContext<SqlServerDbContext>(options =>
            //{
            //    options.UseSqlServer(Configuration.GetConnectionString("Default"));//获取配置的连接字符串
            //});
            //重点仓储和服务注入方式要一样
            //依赖注入仓储
            //services.AddScoped(typeof(IRepository<,>), typeof(MyRepository<,>));
            //services.AddScoped(typeof(IRepository<>), typeof(MyRepository<>));

            //services.AddScoped<IUserService,UserService>();
            //services.AddScoped<IRoleService, RoleService>();
            #endregion

            //调用工厂模式进行依赖注入
            InitializationFactory.Injection(services, Configuration);

            //基于内存存储Session
            services.AddDistributedMemoryCache();
            services.AddSession();

            #region 第一种权限过滤
            //services.AddMvc(options =>
            //{
            //    options.Filters.Add<Filter.CheckLoginAuthorizeFilter>();
            //    options.Filters.Add<Filter.MyExceptionFilter>();
            //});
            #endregion



            #region 第二种权限过滤
            ////权限要求参数
            //var permissionRequirement = new PermissionRequirement(
            //    "/Home/visitDeny",// 拒绝授权的跳转地址
            //    ClaimTypes.Name,//基于用户名的授权
            //    expiration: TimeSpan.FromSeconds(60 * 5)//接口的过期时间
            //    );

            ////【授权】
            //services.AddAuthorization(options =>
            //{
            //    options.AddPolicy("Permission", policy => policy.Requirements.Add(permissionRequirement));
            //});
            //// 注入权限处理器
            //services.AddTransient<IAuthorizationHandler, PermissionHandler>();
            #endregion
        }
示例#2
0
 public HistoricalPriceService() : this(InitializationFactory.CreateAHistoricPriceRequestProcessor(), InitializationFactory.CreateAHistoricalPriceResponseProcessor())
 {
 }
示例#3
0
        //ConfigureServices添加服务和功能,  Configure配置添加好的服务的使用方式
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            //AddRazorRuntimeCompilation 可以使页面像以前一样可以修改页面实时刷新,而不需要重新生成
            services.AddControllersWithViews().AddRazorRuntimeCompilation();;
            #region 已注释
            //注册服务连接数据库
            //services.AddDbContext<SqlServerDbContext>(options =>
            //{
            //    options.UseSqlServer(Configuration.GetConnectionString("Default"));//获取配置的连接字符串
            //});
            //重点仓储和服务注入方式要一样
            //依赖注入仓储
            //services.AddScoped(typeof(IRepository<,>), typeof(MyRepository<,>));
            //services.AddScoped(typeof(IRepository<>), typeof(MyRepository<>));

            //services.AddScoped<IUserService,UserService>();
            //services.AddScoped<IRoleService, RoleService>();
            #endregion

            //调用工厂模式进行依赖注入
            InitializationFactory.Injection(services, Configuration);
            //基于内存存储Session
            //services.AddDistributedMemoryCache();
            services.AddSession();

            #region 第一种权限过滤
            //全局注册Filter
            services.AddMvc(options =>
            {
                // options.Filters.Add(typeof(Filter.VaCantAuthorizationFilter));
                // options.Filters.Add<Filter.CheckLoginAuthorizeFilter>();
                options.Filters.Add <Filter.MyExceptionFilter>();
                // options.Filters.Add<Filter.MyActionFilter>();
            });
            //只在控制器或action上[ServiceFilter(typeof(VaCantAuthorizationFilter))]才有用
            services.AddScoped <VaCantAuthorizationFilter>();
            //services.AddAuthentication(option =>
            //{
            //    option.DefaultScheme = "Cookie";
            //    option.DefaultChallengeScheme = "Cookie";
            //    option.DefaultAuthenticateScheme = "Cookie";
            //    option.DefaultForbidScheme = "Cookie";
            //    option.DefaultSignInScheme = "Cookie";
            //    option.DefaultSignOutScheme = "Cookie";
            //}).AddCookie("Cookie", option =>
            //{
            //    option.LoginPath = "/Account/Login";
            //    option.AccessDeniedPath = "/Account/Forbidden";
            //    //.......
            //});
            #endregion

            #region Quartz定时任务

            //注册ISchedulerFactory的实例
            //services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();
            //StartQuartzAsync();
            #endregion

            #region 第二种权限过滤
            ////权限要求参数
            //var permissionRequirement = new PermissionRequirement(
            //    "/Home/visitDeny",// 拒绝授权的跳转地址
            //    ClaimTypes.Name,//基于用户名的授权
            //    expiration: TimeSpan.FromSeconds(60 * 5)//接口的过期时间
            //    );

            ////【授权】
            //services.AddAuthorization(options =>
            //{
            //    options.AddPolicy("Permission", policy => policy.Requirements.Add(permissionRequirement));
            //});
            //// 注入权限处理器
            //services.AddTransient<IAuthorizationHandler, PermissionHandler>();
            #endregion
        }
        public void SetUp()
        {
            _factory = new InitializationFactory();

            _mutableType = MutableTypeObjectMother.Create();
        }
示例#5
0
 public QuoteService() : this(InitializationFactory.CreateAQuoteRequestBuilder(), InitializationFactory.CreateAQuoteRequestProcessor())
 {
 }