// 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 }
public HistoricalPriceService() : this(InitializationFactory.CreateAHistoricPriceRequestProcessor(), InitializationFactory.CreateAHistoricalPriceResponseProcessor()) { }
//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(); }
public QuoteService() : this(InitializationFactory.CreateAQuoteRequestBuilder(), InitializationFactory.CreateAQuoteRequestProcessor()) { }