public void ConfigureServices(IServiceCollection services) { services.AddMvc(); //Compile Function on startup time: var function = FunctionFactory.BuildFunction(Configuration); ICompiler compiler; string directory = Environment.GetEnvironmentVariable("DOTNETCORE_HOME"); if (Directory.Exists(directory)) { compiler = new DefaultCompiler(new DefaultParser(), new WithDependencyReferencesManager()); } else { compiler = new DefaultCompiler(new DefaultParser(), new WithoutDependencyReferencesManager()); } if (!function.IsCompiled()) { compiler.Compile(function); } services.AddSingleton <IFunction>(function); int timeout = int.Parse(VariablesUtils.GetEnvironmentVariable("FUNC_TIMEOUT", "180")); services.AddSingleton <IInvoker>(new TimeoutInvoker(timeout * 1000)); // seconds services.AddSingleton <IParameterHandler>(new DefaultParameterHandler()); }
public static IWebHost BuildWebHost(string[] args) { var port = VariablesUtils.GetEnvironmentVariable("FUNC_PORT", "8080"); return(WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>() .UseUrls($"http://*:{port}") .Build()); }
public static IHostBuilder CreateHostBuilder(string[] args) { var port = VariablesUtils.GetEnvVar("FUNC_PORT", "8080"); return(Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>().UseUrls($"http://*:{port}"); })); }
public static IWebHostBuilder CreateWebHostBuilder(params string[] args) { var port = VariablesUtils.GetEnvVar("FUNC_PORT", "8080"); return(WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>() .UseUrls($"http://*:{port}") .ConfigureLogging((hostingContext, logging) => { logging.AddConsole(options => options.IncludeScopes = true); logging.AddDebug(); })); }
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); var function = FunctionFactory.BuildFunction(Configuration); if (!function.IsCompiled()) { throw new FileNotFoundException(nameof(function.FunctionSettings.ModuleName)); } services.AddSingleton <IFunction>(function); int timeout = int.Parse(VariablesUtils.GetEnvironmentVariable("FUNC_TIMEOUT", "180")); services.AddSingleton <IInvoker>(new CompiledFunctionInvoker(timeout * 1000)); // seconds services.AddSingleton <IParameterHandler>(new DefaultParameterHandler()); }