Пример #1
0
        void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            // JS a CSS bundly
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            // SimpleWebInjector
            var container = SimpleInjectorContainer.Build(GlobalConfiguration.Configuration);

            DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container));

            Log.Info("App start");
        }
Пример #2
0
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services
            config.SuppressDefaultHostAuthentication();
            config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(SimpleInjectorContainer.RegisterServices());
        }
Пример #3
0
        private static void ConfigureIoc()
        {
            var ioc = new SimpleInjectorContainer();

            // Need to explicitly specify default scope
            ioc.InternalContainer.Options.DefaultScopedLifestyle = new WebRequestLifestyle();

            ioc
            .Register(new IocDataAccessModule())
            .Register(new IocServicesModule())
            .Register(new IocUiModule());

            DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(ioc.InternalContainer));

            // Need for Simple Injector invoking on Web Api controller constructor call
            GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(ioc.InternalContainer);
        }
Пример #4
0
        public void Configuration(IAppBuilder app)
        {
            SimpleInjectorContainer.Initializer();
            //AutoMapperInitializer.Initialize();
            HttpConfiguration config = new HttpConfiguration()
            {
                DependencyResolver = new SimpleInjectorWebApiDependencyResolver
                                         (SimpleInjectorContainer.ContainerInstance)
            };

            WebApiConfig.Register(config);

            OAuthConfig.ConfigureOAuth(app);

            config.MessageHandlers.Add(new CustomLogHandler());

            app.UseWebApi(config);
        }
Пример #5
0
        public void Configuration(IAppBuilder app)
        {
            SimpleInjectorContainer.Initialize();

            HttpConfiguration config = new HttpConfiguration();

            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional });
            EnableOdata(config);
            ConfigureCors(app);
            ActiveAccessTokens(app);
            app.UseWebApi(config);

            AutoMapperConfig.Initialize();


            config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(SimpleInjectorContainer.container);
        }
Пример #6
0
        public static void Register(HttpConfiguration config)
        {
            // Serviços e configuração da API da Web

            // Rotas da API da Web
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );


            DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(
                                               SimpleInjectorContainer.RegisterServices()
                                               ));
        }
Пример #7
0
        public void Configuration(IAppBuilder appBuilder)
        {
            appBuilder.UseCors(CorsOptions.AllowAll);

            var config = new HttpConfiguration();

            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            config.DependencyResolver = new
                                        SimpleInjectorWebApiDependencyResolver(SimpleInjectorContainer.RegisterServices());

            appBuilder.UseWebApi(config);
        }
Пример #8
0
        public static ChocolateyLicense validate_license()
        {
            var license = LicenseValidation.validate();

            if (license.is_licensed_version())
            {
                try
                {
                    var licensedAssembly = AssemblyResolution.resolve_or_load_assembly(ApplicationParameters.LicensedChocolateyAssemblySimpleName, ApplicationParameters.OfficialChocolateyPublicKey, ApplicationParameters.LicensedAssemblyLocation);
                    if (licensedAssembly == null)
                    {
                        throw new ApplicationException("Unable to load licensed assembly.");
                    }
                    license.AssemblyLoaded = true;
                    license.Assembly       = licensedAssembly;
                    license.Version        = VersionInformation.get_current_informational_version(licensedAssembly);
                    Type licensedComponent = licensedAssembly.GetType(ApplicationParameters.LicensedComponentRegistry, throwOnError: false, ignoreCase: true);
                    SimpleInjectorContainer.add_component_registry_class(licensedComponent);
                }
                catch (Exception ex)
                {
                    "chocolatey".Log().Error(
                        @"Error when attempting to load chocolatey licensed assembly. Ensure
 that chocolatey.licensed.dll exists at 
 '{0}'.
 The error message itself may be helpful:{1} {2}".format_with(
                            ApplicationParameters.LicensedAssemblyLocation,
                            Environment.NewLine,
                            ex.Message
                            ));
                    "chocolatey".Log().Warn(ChocolateyLoggers.Important, @" Install the Chocolatey Licensed Extension package with 
 `choco install chocolatey.extension` to remove this license warning. 
 TRIALS: If you have a trial license, you cannot use the above command
 as is and be successful. You need to download nupkgs from the links in
 the trial email as your license will not be registered on the licensed
 repository. Please reference
 https://chocolatey.org/docs/installation-licensed#how-do-i-install-the-trial-edition
 for specific instructions.");
                }
            }

            return(license);
        }
Пример #9
0
        public void InsertNinjaWithoutClan()
        {
            //inicializa a injeção de dependencia
            SimpleInjectorContainer.RegisterServices();

            INinjaRepository ninjaRepository = new NinjaRepository();

            Ninja ninja = new Ninja
            {
                NinjaName    = "Bolacha",
                DateCreated  = DateTime.Now,
                DateModified = DateTime.Now
            };

            if (!ninjaRepository.FindBy(n => n.NinjaName == ninja.NinjaName).Any())
            {
                ninjaRepository.Add(ninja);
                ninjaRepository.Save();
            }
        }
Пример #10
0
        static void Main(string[] args)
        {
            // registra o contaner de IoC
            var iocInjector = new SimpleInjectorContainer();
            //registra o auto map
            var     mapperConfiguration = AutoMapperConfig.RegisterMappings();
            IMapper mapper = mapperConfiguration.CreateMapper();

            string uri = ConfigurationManager.AppSettings["Uri"];

            var servicoRssFeed = iocInjector.container.GetInstance <IServicoRssFeed>();

            var rssFeedViewModel = servicoRssFeed.ProcessarRssFeed(uri, mapper);

            System.Console.WriteLine($"Dados do blog: { rssFeedViewModel.Title }");
            System.Console.WriteLine($"Ultima alteração: { rssFeedViewModel.LastBuildDate }");
            Console.WriteLine();

            foreach (var item in rssFeedViewModel.Items)
            {
                System.Console.WriteLine($"Título do blog: { item.Title }");
                System.Console.WriteLine($"Criado por: { item.Creator }");
                System.Console.WriteLine($"Publicado em: { item.PubDate }");
                Console.WriteLine();

                Console.WriteLine("As 10 dez principais palavras abordadas nesses tópicos são:");
                var index = 1;
                foreach (var palavra in item.Palavras)
                {
                    Console.WriteLine($"{ index }ª) { palavra.Palavra.ToUpper() }, o número de vezes que ela apareceu foi: { palavra.TotalVezesUsuada }!");
                    index++;
                }

                Console.WriteLine($"Total de palavras usuadas no blog { item.TotalPalavrasBlog } palavras");

                Console.WriteLine();
            }


            Console.ReadKey();
        }
Пример #11
0
        static void Main(string[] args)
        {
            //Resolvendo as dependências
            SimpleInjectorContainer.RegisterServices();

            //Preparando o envento
            var idCliente = 10;
            var idObjeto  = 574;
            var encomenda = new Encomenda(idCliente, idObjeto);

            var fazerUmaEncomenda = new EncomendaRealizada(
                encomenda.ClienteId,
                encomenda.ObjetoId,
                encomenda.DataEntregaPrevista
                );

            //Realizando o evento
            DomainEvents.Raise(fazerUmaEncomenda);

            Console.ReadKey();
        }
Пример #12
0
        public void InserNinjaClan()
        {
            SimpleInjectorContainer.RegisterServices();

            INinjaClanRepository ninjaClanRepository = new NinjaClanRepository();

            NinjaClan ninjaClan = new NinjaClan
            {
                DateModified   = DateTime.Now,
                DateCreated    = DateTime.Now,
                ClanName       = "Camargo's",
                FoundationDate = DateTime.Today
            };

            if (!ninjaClanRepository.FindBy(clan => clan.ClanName == ninjaClan.ClanName).Any())
            {
                ninjaClanRepository.Add(ninjaClan);
                ninjaClanRepository.Save();
            }

            Console.WriteLine(ninjaClan.Id);
        }
Пример #13
0
        /// <summary>
        /// Integrates SimpleInjector
        /// </summary>
        /// <param name="services">Interface <see cref="IServiceCollection"/></param>
        private static void IntegrateSimpleInjector(IServiceCollection services)
        {
            var ioc = new SimpleInjectorContainer();

            ioc.InternalContainer.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();

            ioc
            .Register(new IocDataAccessModule())
            .Register(new IocServicesModule())
            .Register(new IocCoreUIModule());

            ioc.InternalContainer.Verify();

            GlobalConfiguration.Configuration.DependencyResolver =
                new SimpleInjectorWebApiDependencyResolver(ioc.InternalContainer);

            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();

            services.AddSingleton <IControllerActivator>(
                new SimpleInjectorControllerActivator(ioc.InternalContainer));

            services.EnableSimpleInjectorCrossWiring(ioc.InternalContainer);
            services.UseSimpleInjectorAspNetRequestScoping(ioc.InternalContainer);
        }
Пример #14
0
        public GamePlatformController()
        {
            var service = SimpleInjectorContainer.GetInstance <IGamePlatformRepository>();

            _repo = (IGamePlatformRepository)service;
        }
Пример #15
0
 private static void InitializeContainer(Container container)
 {
     SimpleInjectorContainer.Initialize(container, Lifestyle.Singleton);
 }
Пример #16
0
        public UserController()
        {
            var service = SimpleInjectorContainer.GetInstance <IUserRepository>();

            _repo = (IUserRepository)service;
        }
Пример #17
0
 protected void Application_Start(object sender, EventArgs e)
 {
     SimpleInjectorContainer.Initialize();
 }
Пример #18
0
// ReSharper disable InconsistentNaming
        private static void Main(string[] args)
// ReSharper restore InconsistentNaming
        {
            try
            {
                string loggingLocation = ApplicationParameters.LoggingLocation;
                //no file system at this point
                if (!Directory.Exists(loggingLocation))
                {
                    Directory.CreateDirectory(loggingLocation);
                }

                Log4NetAppenderConfiguration.configure(loggingLocation);
                Bootstrap.initialize();
                Bootstrap.startup();

                var container  = SimpleInjectorContainer.initialize();
                var config     = container.GetInstance <ChocolateyConfiguration>();
                var fileSystem = container.GetInstance <IFileSystem>();

                ConfigurationBuilder.set_up_configuration(args, config, fileSystem, container.GetInstance <IXmlService>());
                Config.initialize_with(config);

                if (config.RegularOuptut)
                {
                    "logfile".Log().Info(() => "".PadRight(60, '='));
#if DEBUG
                    "chocolatey".Log().Info(ChocolateyLoggers.Important, () => "{0} v{1} (DEBUG BUILD)".format_with(ApplicationParameters.Name, config.Information.ChocolateyVersion));
#else
                    "chocolatey".Log().Info(ChocolateyLoggers.Important, () => "{0} v{1}".format_with(ApplicationParameters.Name, config.Information.ChocolateyVersion));
#endif
                }

                remove_old_chocolatey_exe(fileSystem);

                if (config.HelpRequested)
                {
                    pause_execution_if_debug();
                    Environment.Exit(-1);
                }

                Log4NetAppenderConfiguration.set_verbose_logger_when_verbose(config.Verbose, ChocolateyLoggers.Verbose.to_string());
                Log4NetAppenderConfiguration.set_logging_level_debug_when_debug(config.Debug);
                "chocolatey".Log().Debug(() => "{0} is running on {1} v {2}".format_with(ApplicationParameters.Name, config.Information.PlatformType, config.Information.PlatformVersion.to_string()));
                //"chocolatey".Log().Debug(() => "Command Line: {0}".format_with(Environment.CommandLine));

                LicenseValidation.validate(fileSystem);

                //refactor - thank goodness this is temporary, cuz manifest resource streams are dumb
                IList <string> folders = new List <string>
                {
                    "helpers",
                    "functions",
                    "redirects",
                    "tools"
                };
                AssemblyFileExtractor.extract_all_resources_to_relative_directory(fileSystem, Assembly.GetAssembly(typeof(ChocolateyResourcesAssembly)), ApplicationParameters.InstallLocation, folders, ApplicationParameters.ChocolateyFileResources);

                var application = new ConsoleApplication();
                application.run(args, config, container);
            }
            catch (Exception ex)
            {
                var debug = false;
                // no access to the good stuff here, need to go a bit primitive in parsing args
                foreach (var arg in args.or_empty_list_if_null())
                {
                    if (arg.Contains("debug") || arg.is_equal_to("-d") || arg.is_equal_to("/d"))
                    {
                        debug = true;
                        break;
                    }
                }

                if (debug)
                {
                    "chocolatey".Log().Error(() => "{0} had an error occur:{1}{2}".format_with(
                                                 ApplicationParameters.Name,
                                                 Environment.NewLine,
                                                 ex.ToString()));
                }
                else
                {
                    "chocolatey".Log().Error(ChocolateyLoggers.Important, () => "{0}".format_with(ex.Message));
                }

                Environment.ExitCode = 1;
            }
            finally
            {
                "chocolatey".Log().Debug(() => "Exiting with {0}".format_with(Environment.ExitCode));
#if DEBUG
                "chocolatey".Log().Info(() => "Exiting with {0}".format_with(Environment.ExitCode));
#endif
                pause_execution_if_debug();
                Bootstrap.shutdown();

                Environment.Exit(Environment.ExitCode);
            }
        }
Пример #19
0
 protected void Application_Start()
 {
     GlobalConfiguration.Configure(config => config.Register(new SimpleInjectorWebApiDependencyResolver(SimpleInjectorContainer.Build())));
 }
Пример #20
0
 protected void Application_Start()
 {
     GlobalConfiguration.Configure(WebApiConfig.Register);
     AutoMapperConfig.Initialize();
     SimpleInjectorContainer.Initialize();
 }
Пример #21
0
 private static void InitializeContainer(Container container)
 {
     SimpleInjectorContainer.Register(container);
 }
Пример #22
0
        public static ChocolateyLicense validate_license()
        {
            var license = LicenseValidation.validate();

            if (license.is_licensed_version())
            {
                try
                {
#if FORCE_CHOCOLATEY_OFFICIAL_KEY
                    var chocolateyPublicKey = ApplicationParameters.OfficialChocolateyPublicKey;
#else
                    var chocolateyPublicKey = ApplicationParameters.UnofficialChocolateyPublicKey;
#endif
                    var licensedAssembly = AssemblyResolution.resolve_or_load_assembly(ApplicationParameters.LicensedChocolateyAssemblySimpleName, chocolateyPublicKey, ApplicationParameters.LicensedAssemblyLocation);

                    if (licensedAssembly == null)
                    {
                        throw new ApplicationException("Unable to load licensed assembly.");
                    }

                    license.AssemblyLoaded = true;
                    license.Assembly       = licensedAssembly;
                    license.Version        = VersionInformation.get_current_informational_version(licensedAssembly);

                    // The licensed assembly is installed, check its supported Chocolatey versions and/or the assembly
                    // version so we can attempt to determine whether it's compatible with this version of Chocolatey.
                    var minimumChocolateyVersionString = VersionInformation.get_minimum_chocolatey_version(licensedAssembly);
                    "chocolatey".Log().Debug("Minimum Chocolatey Version: '{0}'".format_with(minimumChocolateyVersionString));
                    var currentChocolateyVersionString = VersionInformation.get_current_assembly_version();
                    "chocolatey".Log().Debug("Current Chocolatey Version: '{0}'".format_with(currentChocolateyVersionString));
                    var currentChocolateyLicensedVersionString = VersionInformation.get_current_assembly_version(licensedAssembly);
                    "chocolatey".Log().Debug("Current Chocolatey Licensed Version: '{0}'".format_with(currentChocolateyLicensedVersionString));

                    var minimumChocolateyVersion         = new Version(minimumChocolateyVersionString);
                    var currentChocolateyVersion         = new Version(currentChocolateyVersionString);
                    var currentChocolateyLicensedVersion = new Version(currentChocolateyLicensedVersionString);

                    license.IsCompatible = true;

                    if (currentChocolateyVersion < minimumChocolateyVersion || (minimumChocolateyVersion == Version.Parse("1.0.0") && currentChocolateyLicensedVersion.Major < 4))
                    {
                        license.IsCompatible = false;
                    }

                    Type licensedComponent = licensedAssembly.GetType(ApplicationParameters.LicensedComponentRegistry, throwOnError: false, ignoreCase: true);
                    SimpleInjectorContainer.add_component_registry_class(licensedComponent);
                }
                catch (Exception ex)
                {
                    "chocolatey".Log().Error(
                        @"A valid Chocolatey license was found, but the chocolatey.licensed.dll assembly could not be loaded:
  {0}
Ensure that the chocolatey.licensed.dll exists at the following path:
 '{1}'".format_with(ex.Message, ApplicationParameters.LicensedAssemblyLocation));

                    "chocolatey".Log().Warn(
                        ChocolateyLoggers.Important,
                        @"To resolve this, install the Chocolatey Licensed Extension package with
 `choco install chocolatey.extension`");
                }
            }

            return(license);
        }
Пример #23
0
 protected void Application_Start(object sender, EventArgs e)
 {
     GlobalConfiguration.Configure(WebApiConfig.Registrar);
     SimpleInjectorContainer.Initialize();
     InicializadorAutoMapper.Inicializar();
 }
Пример #24
0
        // ReSharper disable InconsistentNaming
        private static void Main(string[] args)
        // ReSharper restore InconsistentNaming
        {
            try
            {
                string loggingLocation = ApplicationParameters.LoggingLocation;
                //no file system at this point
                if (!Directory.Exists(loggingLocation))
                {
                    Directory.CreateDirectory(loggingLocation);
                }

                Log4NetAppenderConfiguration.configure(loggingLocation);
                Bootstrap.initialize();
                Bootstrap.startup();

                var license = LicenseValidation.validate();
                if (license.is_licensed_version())
                {
                    try
                    {
                        var licensedAssembly = Assembly.LoadFile(ApplicationParameters.LicensedAssemblyLocation);
                        license.AssemblyLoaded = true;
                        license.Assembly       = licensedAssembly;
                        license.Version        = VersionInformation.get_current_informational_version(licensedAssembly);
                        Type licensedComponent = licensedAssembly.GetType(ApplicationParameters.LicensedComponentRegistry, throwOnError: false, ignoreCase: true);
                        SimpleInjectorContainer.add_component_registry_class(licensedComponent);
                    }
                    catch (Exception ex)
                    {
                        "chocolatey".Log().Error(
                            @"Error when attempting to load chocolatey licensed assembly. Ensure
 that chocolatey.licensed.dll exists at 
 '{0}'.
 The error message itself may be helpful as well:{1} {2}".format_with(
                                ApplicationParameters.LicensedAssemblyLocation,
                                Environment.NewLine,
                                ex.Message
                                ));
                    }
                }
                var container = SimpleInjectorContainer.Container;

                var config     = container.GetInstance <ChocolateyConfiguration>();
                var fileSystem = container.GetInstance <IFileSystem>();

                var warnings = new List <string>();

                ConfigurationBuilder.set_up_configuration(
                    args,
                    config,
                    container,
                    license,
                    warning => { warnings.Add(warning); }
                    );
                Config.initialize_with(config);

                report_version_and_exit_if_requested(args, config);

                trap_exit_scenarios(config);

                if (config.RegularOutput)
                {
                    "logfile".Log().Info(() => "".PadRight(60, '='));
#if DEBUG
                    "chocolatey".Log().Info(ChocolateyLoggers.Important, () => "{0} v{1}{2} (DEBUG BUILD)".format_with(ApplicationParameters.Name, config.Information.ChocolateyProductVersion, license.is_licensed_version() ? " {0}".format_with(license.LicenseType) : string.Empty));
#else
                    if (config.Information.ChocolateyVersion == config.Information.ChocolateyProductVersion && args.Any())
                    {
                        "logfile".Log().Info(() => "{0} v{1}{2}".format_with(ApplicationParameters.Name, config.Information.ChocolateyProductVersion, license.is_licensed_version() ? " {0}".format_with(license.LicenseType) : string.Empty));
                    }
                    else
                    {
                        "chocolatey".Log().Info(ChocolateyLoggers.Important, () => "{0} v{1}{2}".format_with(ApplicationParameters.Name, config.Information.ChocolateyProductVersion, license.is_licensed_version() ? " {0}".format_with(license.LicenseType) : string.Empty));
                    }
#endif
                }

                if (warnings.Count != 0 && config.RegularOutput)
                {
                    foreach (var warning in warnings.or_empty_list_if_null())
                    {
                        "chocolatey".Log().Warn(ChocolateyLoggers.Important, warning);
                    }
                }

                if (config.HelpRequested)
                {
                    pause_execution_if_debug();
                    Environment.Exit(-1);
                }

                Log4NetAppenderConfiguration.set_logging_level_debug_when_debug(config.Debug, excludeLoggerName: "{0}LoggingColoredConsoleAppender".format_with(ChocolateyLoggers.Verbose.to_string()));
                Log4NetAppenderConfiguration.set_verbose_logger_when_verbose(config.Verbose, config.Debug, "{0}LoggingColoredConsoleAppender".format_with(ChocolateyLoggers.Verbose.to_string()));
                "chocolatey".Log().Debug(() => "{0} is running on {1} v {2}".format_with(ApplicationParameters.Name, config.Information.PlatformType, config.Information.PlatformVersion.to_string()));
                //"chocolatey".Log().Debug(() => "Command Line: {0}".format_with(Environment.CommandLine));

                remove_old_chocolatey_exe(fileSystem);

                //refactor - thank goodness this is temporary, cuz manifest resource streams are dumb
                IList <string> folders = new List <string>
                {
                    "helpers",
                    "functions",
                    "redirects",
                    "tools"
                };
                AssemblyFileExtractor.extract_all_resources_to_relative_directory(fileSystem, Assembly.GetAssembly(typeof(ChocolateyResourcesAssembly)), ApplicationParameters.InstallLocation, folders, ApplicationParameters.ChocolateyFileResources);

                var application = new ConsoleApplication();
                application.run(args, config, container);
            }
            catch (Exception ex)
            {
                var debug = false;
                // no access to the good stuff here, need to go a bit primitive in parsing args
                foreach (var arg in args.or_empty_list_if_null())
                {
                    if (arg.Contains("debug") || arg.is_equal_to("-d") || arg.is_equal_to("/d"))
                    {
                        debug = true;
                        break;
                    }
                }

                if (debug)
                {
                    "chocolatey".Log().Error(() => "{0} had an error occur:{1}{2}".format_with(
                                                 ApplicationParameters.Name,
                                                 Environment.NewLine,
                                                 ex.ToString()));
                }
                else
                {
                    "chocolatey".Log().Error(ChocolateyLoggers.Important, () => "{0}".format_with(ex.Message));
                }

                Environment.ExitCode = 1;
            }
            finally
            {
                "chocolatey".Log().Debug(() => "Exiting with {0}".format_with(Environment.ExitCode));
#if DEBUG
                "chocolatey".Log().Info(() => "Exiting with {0}".format_with(Environment.ExitCode));
#endif
                pause_execution_if_debug();
                Bootstrap.shutdown();

                Environment.Exit(Environment.ExitCode);
            }
        }
Пример #25
0
 protected void Application_Start()
 {
     DependencyResolver.SetResolver(SimpleInjectorContainer.RegisterServices());
     AreaRegistration.RegisterAllAreas();
     RouteConfig.RegisterRoutes(RouteTable.Routes);
 }
Пример #26
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var appSettings = new ConfigurationBuilder()
                              .SetBasePath(Directory.GetCurrentDirectory())
                              .AddJsonFile("appsettings.json");

            IConfigurationRoot Configuration = appSettings.Build();

            var builder          = new DbContextOptionsBuilder <CestechContext>();
            var connectionString = Configuration["ConnectionStrings:DefaultConnection"];

            builder.UseMySql(connectionString);
            services.AddMvc();
            services.AddDbContext <CestechContext>(x => x.UseMySql(connectionString));

            container = SimpleInjectorContainer.Register(builder.Options);
            IntegrateSimpleInjector(services);

            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(option =>
            {
                option.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer           = true,
                    ValidateAudience         = true,
                    ValidateLifetime         = true,
                    ValidateIssuerSigningKey = true,

                    ValidIssuer      = "Securiry.Bearer",
                    ValidAudience    = "Securiry.Bearer",
                    IssuerSigningKey = ProviderJWT.JWTSecurityKey.Create("Secret_Key-Cestech")
                };

                option.Events = new JwtBearerEvents
                {
                    OnAuthenticationFailed = context =>
                    {
                        Console.WriteLine("OnAuthenticationFailed: " + context.Exception.Message);
                        return(Task.CompletedTask);
                    },
                    OnTokenValidated = context =>
                    {
                        Console.WriteLine("OnTokenValidated: " + context.SecurityToken);
                        return(Task.CompletedTask);
                    }
                };
            });

            services.AddAuthorization(options =>
            {
                options.AddPolicy("UsuarioApi",
                                  policy => policy.RequireClaim("UsuarioAPI"));
            });

            services.AddMvc();

            // Configurando o serviço de documentação do Swagger
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1",
                             new Info
                {
                    Title       = "Cestech",
                    Version     = "v1",
                    Description = "Api base Cestech",
                    Contact     = new Contact
                    {
                        Name = "Wodson Luiz",
                        Url  = "https://github.com/wodsonluiz"
                    }
                });

                string caminhoAplicacao =
                    PlatformServices.Default.Application.ApplicationBasePath;
                string nomeAplicacao =
                    PlatformServices.Default.Application.ApplicationName;
                string caminhoXmlDoc =
                    Path.Combine(caminhoAplicacao, $"{nomeAplicacao}.xml");

                c.IncludeXmlComments(caminhoXmlDoc);
            });

            services.AddCors(o => o.AddPolicy("CorsPolicy", X =>
            {
                X.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader();
            }));
        }
Пример #27
0
 /// <summary>
 ///Método de execução de rotinas durante a inicialização da API
 /// </summary>
 protected void Application_Start(object sender, EventArgs e)
 {
     // Realiza as configurações gerais da API
     GlobalConfiguration.Configure(WebApiConfig.Register);
     SimpleInjectorContainer.Initialize();
 }