// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); //fornece uma instancia de HttpContextAcessor services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddScoped <RelatorioVendasService>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); services.AddControllersWithViews(); services.AddPaging(options => { options.ViewName = "Bootstrap4"; options.PageParameterName = "pageindex"; }); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { //Cria o serviço de conexão com o banco de dados services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); //fornece uma instancia de HttpContextAcessor //Registra o serviço do CarrinhoCompra services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //Cria o serviço que utiliza as clases da pasta Repository services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IComidaRepository, ComidaRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes //Define o carrinho para cada requisição sem ter ligação com a instância services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddControllersWithViews(); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")) ); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AcessDenied"); services.AddDistributedMemoryCache(); services.AddSession(); //registro os objetos do Repositories como serviço para serem criados quando forem necessários. services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); //services.AddMemoryCache(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); services.AddTransient <IProdutoRepository, ProdutoRepository>(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddScoped <RelatorioVendasService>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddControllersWithViews(); services.AddPaging(options => { options.ViewName = "Bootstrap4"; options.PageParameterName = "pageindex"; }); services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); //fornece uma instancia de HttpContextAcessor services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); services.AddSession(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddMemoryCache(); services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("AppDbContext"))); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); //fornece uma instancia de HttpContextAcessor services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); services.AddMvc(); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); /*services.AddAuthentication().AddFacebook(facebookOptions => * { * facebookOptions.AppId = Configuration["Authentication:Facebook:AppId"]; * facebookOptions.AppSecret = Configuration["Authentication:Facebook:AppSecret"]; * })*/ }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddMemoryCache(); services.AddSession(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <DataContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Interno"))); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LanchesRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(c => CarrinhoCompra.GetCarrinho(c)); services.AddControllersWithViews(); services.AddSession(); services.AddMemoryCache(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); // services.AddDbContext<AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("base"))); services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Util.GetConnectionString("base"))); /// <summary> // configurando o serviço de identificação de usuario // passando o contexto da aplicação /// </summary> services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); //serviço par acesso negado. services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AcessDanied"); //Registrando como serviço minhas interfaces pra ser usado nos controles... //specified = especificado / transient = transitorio services.AddTransient <ICategoriaRepository, CategoriaRepository>(); // =>transient , significa que o objeto vai ser criado toda vez que for chamado, criando um novo objeto desse servico. services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //=> AddSingleton => é instanciado uma única vez... ou seja todas as chamadas "requisições" obtém o mesmo objeto. //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto RelatorioVendasService ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped <RelatorioVendasService>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); //=> é criado instancia diferentes do objeto pra cada requisição... //Configurando pagina com pacote de terceiros. services.AddPaging(options => { options.ViewName = "Bootstrap4"; options.PageParameterName = "pageindex"; }); services.AddMemoryCache(); services.AddSession(); //services.AddMvc(); eu nao tinha }
public void ConfigureServices(IServiceCollection services) { // Configurations=>ExtensionMethods // -------------------------------- services.AddDependencyInjection(); services.AddIdentityConfiguration(Configuration); services.AddMyDataContextConfiguration(Configuration); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); services.Configure <ConfigurationImagens>(Configuration.GetSection("ConfigurationPastaImagens")); services.AddAutoMapper(typeof(Startup)); services.AddMsgMvcConfiguration(); services.AddDistributedMemoryCache(); // Todo: Depois migrar para os locais corretos, fora do Mvc services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddScoped <RelatorioVendasService>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); services.AddControllersWithViews(); services.AddPaging(options => { options.ViewName = "Bootstrap4"; options.PageParameterName = "pageindex"; }); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); services.AddRazorPages(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var conexao = Configuration.GetConnectionString("DefaultConnection"); services.AddDbContext <AppDbContext>(builder => builder.UseMySql(conexao, ServerVersion.AutoDetect(conexao), options => { options.EnableRetryOnFailure(); })); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddControllersWithViews().AddRazorRuntimeCompilation(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddMvc(); services.AddMvc(option => option.EnableEndpointRouting = false); services.AddMemoryCache(); services.AddSession(); services.AddControllersWithViews(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) // injeção de dependencia { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); //options => options.SignIn.RequireConfirmedAccount = true services.AddIdentity <IdentityUser, IdentityRole>(options => { options.Password.RequiredLength = 6; options.Password.RequiredUniqueChars = 3; options.Password.RequireNonAlphanumeric = false; options.Password.RequireLowercase = true; options.Password.RequireUppercase = true; options.Password.RequireDigit = true; }) .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); //toda vez que é requisitado cria um objeto services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddScoped <RelatorioVendasService>(); //services.AddSingleton<IHttpContextAccessor, IHttpContextAccessor>(); //singleton: o objeto criado será utilziado para todas requisições services.TryAddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //resolve erro do serviço acima services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); // mesmo criando o objeto, caso crie mais de um, serão de instancias diferentes services.AddControllersWithViews(); services.AddPaging(options => { options.ViewName = "Bootstrap4"; options.PageParameterName = "pageindex"; }); services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddControllersWithViews(); services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>().AddEntityFrameworkStores <AppDbContext>().AddDefaultTokenProviders(); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); //Injeção de Depedencias services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddMvc(); services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var connection = Configuration["ConexaoMySql:MySqlConnectionString"]; services.AddDbContext <AppDbContext>(options => options.UseMySql(connection)); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.Configure <IdentityOptions>(options => { options.Password.RequiredLength = 8; options.Password.RequiredUniqueChars = 1; options.Password.RequireNonAlphanumeric = true; options.Password.RequireDigit = false; }); services.ConfigureApplicationCookie(option => option.AccessDeniedPath = "/Home/AcessDenied"); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IProdutoRepository, ProdutoRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddTransient <IClienteRepository, ClienteRepository>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); services.AddControllersWithViews(); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); services.Configure <IdentityOptions>(options => { options.Password.RequireDigit = false; options.Password.RequiredLength = 4; options.Password.RequireNonAlphanumeric = false; options.Password.RequireUppercase = true; options.Password.RequireLowercase = false; }); services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); //fornece uma instancia de HttpContextAcessor services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); services.AddControllersWithViews(); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddControllersWithViews(); // Registrar o AddIdentity que vai adicionar o Identity padrão para os tipos de usuários e perfis especificados que vão // ser o IdentityUser e o IdentityRole. Depois, adicionamos o AddEntityFrameworkStore e referenciar o contexto da aplicação // O AddEntityFramework adiciona uma implementação do EntityFrameWork que armazena as informações de entidade // Com o AddDefaultTokenProviders configuramos o serviço do Identity para incluir a configuração do sistema padrão do Identity // para o usuário, representado em IdentityUser e o perfil em IdentityRole, usando o contexto (AppDbContext) do EntityFrameWorkCore // O AddDefaulttokenProviders vai incluir os tokens para troca de senha e envio de e-mails services.AddIdentity <IdentityUser, IdentityRole>() .AddEntityFrameworkStores <AppDbContext>() .AddDefaultTokenProviders(); // Se ocorrer o acesso negado, o usuário é direcionado para essa url services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); // .AddTransient -> o serviço será criado cada vez que for solicitado // .AddScope -> criado uma vez por solicitação (cada requisição). Se duas pessoas solicitarem ao mesmo // tempo, cada uma terá o seu carrinho e não teremos carrinhos duplicados // .AddSingleton -> Usado na primeira vez que for solicitado (todas as requisições tenho o mesmo objeto) // services.AddTransient<Interface, Implementação> services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddMvc(); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews().AddRazorRuntimeCompilation(); services.AddDbContext <SBContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddTransient <ICategoriaRP, CategoriaRP>(); services.AddTransient <IProdutoRP, ProdutoRP>(); services.AddTransient <ICarrinhoCompraItemRP, CarrinhoCompraItemRP>(); services.AddTransient <IPedidoRP, PedidoRP>(); services.AddTransient <ICarrinhoCompraService, CarrinhoCompraServices>(); services.AddTransient <IProdutoService, ProdutoServices>(); services.AddTransient <ICategoriaService, CategoriaServices>(); services.AddTransient <IPedidoService, PedidoServices>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddAutoMapper(typeof(Configuration)); services.AddScoped(CP => CarrinhoCompra.GetCarrinho(CP)); services.AddDistributedMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); // AddDefaultTokenProviders -> gera tokens para troca/reset de pw e email services.AddIdentity <IdentityUser, IdentityRole>().AddEntityFrameworkStores <AppDbContext>().AddDefaultTokenProviders(); // se pagina nao autorizada, entao o controller da vai apresentar uma view atraves do metodo action AcessDenied services.ConfigureApplicationCookie(options => options.AccessDeniedPath = "/Home/AccessDenied"); // trabalhar com imagens // ConfigurationPastaImagens em appsettings services.Configure <ConfigurationImagens>(Configuration.GetSection("ConfigurationPastaImagens")); // serviço criado cada vez que for solicitado => AddTransient // serviço criado uma vez por solicitaçao => AddScoped // serviço usado na primeira vez que for solicitado => AddSingleton (todas as requicoes obtêm o mesmo objeto) services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); services.AddScoped <RelatorioVendasService>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); // para ter acesso à sessão no contexto services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); // carrinho criado para cada requisição services.AddControllersWithViews(); services.AddPaging(options => { options.ViewName = "Bootstrap4"; options.PageParameterName = "pageindex"; }); services.AddMemoryCache(); services.AddSession(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext <LanchoneteCoreContext>(options => options.UseSqlServer(Configuration.GetConnectionString("LanchoneteCoreContext"))); services.AddScoped <ProdutoService>(); services.AddScoped <AtendenteService>(); services.AddScoped <ClienteService>(); //services.AddScoped<PedidoService>(); services.AddTransient <IProdutoRepository, ProdutoRepository>(); services.AddTransient <IPedidoRepository, PedidoRepository>(); //fornece uma instancia de HttpContextAcessor services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); //cria um objeto Scoped, ou seja um objeto que esta associado a requisição //isso significa que se duas pessoas solicitarem o objeto CarrinhoCompra ao mesmo tempo //elas vão obter instâncias diferentes services.AddScoped(sp => CarrinhoCompra.GetCarrinho(sp)); //configura o uso da Sessão services.AddMemoryCache(); services.AddSession(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddMvc(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.Configure <CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); //adicionado o servico que chama a conection string configurada para o fazer o mapeamento do conteste services.AddDbContext <AppDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); //Registrar o servico para injecao de independencia services.AddTransient <ICategoriaRepository, CategoriaRepository>(); services.AddTransient <ILancheRepository, LancheRepository>(); services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddScoped(cp => CarrinhoCompra.GetCarrinho(cp)); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddMemoryCache(); services.AddSession(); }