/// <summary> /// 启用WebHost /// </summary> /// <param name="app"></param> /// <param name="hostOptions"></param> /// <param name="env"></param> /// <returns></returns> public static IApplicationBuilder UseWebHost(this IApplicationBuilder app, HostOptions hostOptions, IHostingEnvironment env) { //异常处理 app.UseExceptionHandle(); //加载模块 app.UseModules(env); //启用静态文件 app.UseStaticFiles(); //身份认证 app.UseAuthentication(); //CORS app.UseCors(builder => { builder.AllowAnyOrigin(); builder.AllowAnyMethod(); builder.AllowAnyHeader(); builder.AllowCredentials(); }); //开启Swagger if (hostOptions.Swagger || env.IsDevelopment()) { app.UseCustomSwagger(); } app.UseMvc(); return(app); }
public PluginsHostLifetime(PluginApplicationContext applicationContext, IHostApplicationLifetime applicationLifetime, IOptions <HostOptions> hostOptions, ILoggerFactory loggerFactory) { _applicationContext = applicationContext ?? throw new ArgumentNullException(nameof(applicationContext)); _applicationLifetime = applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime)); _hostOptions = hostOptions?.Value ?? throw new ArgumentNullException(nameof(hostOptions)); _logger = loggerFactory.CreateLogger("Zongsoft.Hosting.Lifetime"); }
public FSyncConsoleLifetime(IFSyncCmdApp cliService, IHostApplicationLifetime applicationLifetime, IOptions <HostOptions> hostOptions, ILoggerFactory loggerFactory) { _cliService = cliService ?? throw new ArgumentNullException(nameof(cliService)); _applicationLifetime = applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime)); _hostOptions = hostOptions?.Value ?? throw new ArgumentNullException(nameof(hostOptions)); _logger = loggerFactory.CreateLogger(nameof(FSyncConsoleLifetime)); }
public StubbedSigningNotifier( IDataProtectionProvider dataProtectionProvider, IOptions <HostOptions> hostOptions) { _dataProtectionProvider = dataProtectionProvider; _hostOptions = hostOptions.Value; }
private static void DumpDiagnostics(HostOptions options, Microsoft.Extensions.Logging.ILogger logger) { var providerText = new List <string>(); providerText.AddRange( new[] { options.DistributedTraceProvider, options.LoggingProvider, options.MetricsProvider } .Where(p => p is object) .Cast <string>()); foreach (var text in providerText) { if (DiagnosticsProvider.TryParse(text, out var provider)) { if (DiagnosticsProvider.WellKnownProviders.TryGetValue(provider.Key, out var wellKnown)) { logger.LogInformation(wellKnown.LogFormat, provider.Value); } else { logger.LogWarning("Unknown diagnostics provider {Key}:{Value}", provider.Key, provider.Value); } } else { logger.LogError("Could not parse provider argument: {Arg}", text); } } }
public static HostBuilder ListenTo(this HostBuilder self, Action <HostOptions> options) { var hostOptions = new HostOptions(); options.Invoke(hostOptions); self.Configure(s => s.AddSingleton(hostOptions)); return(self); }
protected StartupAbstract(IHostingEnvironment env) { Env = env; var cfgHelper = new ConfigurationHelper(); //加载主机配置项 HostOptions = cfgHelper.Get <HostOptions>("Host", env.EnvironmentName, true); }
public GrpcServer(HealthServiceImpl healthService, GlobalInterceptor globalInterceptor, ILogger logger, IOptions <HostOptions> options, MethodRegistry methodRegistry) { _healthService = healthService ?? throw new ArgumentNullException(nameof(healthService)); _globalInterceptor = globalInterceptor ?? throw new ArgumentNullException(nameof(globalInterceptor)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _options = options.Value ?? throw new ArgumentNullException(nameof(options)); _methodRegistry = methodRegistry ?? throw new ArgumentNullException(nameof(methodRegistry)); }
public BackgroundGameHeadlessGameHost(string gameName = null, HostOptions options = null, bool realtime = true) : base(gameName, options, realtime: realtime) { var testGame = new TestGame(); Task.Factory.StartNew(() => Run(testGame), TaskCreationOptions.LongRunning); testGame.HasProcessed.Wait(); }
public Host(IServiceProvider services, IApplicationLifetime applicationLifetime, ILogger <Host> logger, IHostLifetime hostLifetime, IOptions <HostOptions> options) { Services = services ?? throw new ArgumentNullException(nameof(services)); _applicationLifetime = (applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime))) as ApplicationLifetime; _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _hostLifetime = hostLifetime ?? throw new ArgumentNullException(nameof(hostLifetime)); _options = options?.Value ?? throw new ArgumentNullException(nameof(options)); }
public MycoHost(IServiceProvider services, IHostApplicationLifetime applicationLifetime, ILogger <MycoHost> logger, IHostLifetime hostLifetime, IOptions <HostOptions> options) { this.Services = services ?? throw new ArgumentNullException(nameof(services)); this.applicationLifetime = (applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime))) as ApplicationLifetime; this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.hostLifetime = hostLifetime ?? throw new ArgumentNullException(nameof(hostLifetime)); this.options = options?.Value ?? throw new ArgumentNullException(nameof(options)); }
/// <summary> /// Creates a process options instance /// </summary> /// <returns>The process options instance</returns> public override IProcessOptions CreateOptions() { var opts = new HostOptions() { ProcessId = this.ProcessId }; return(opts); }
public UnityHostLifetime(IHostApplicationLifetime applicationLifetime, ILogger <UnityHostLifetime> logger, IOptions <HostOptions> hostOptions, IOpenModHost openModHost) { m_ApplicationLifetime = applicationLifetime; m_Logger = logger; m_OpenModHost = openModHost; m_HostOptions = hostOptions.Value; m_ShutdownBlock = new ManualResetEvent(false); }
public static ProcessRunnerOptions FromHostOptions(HostOptions options) { return(new ProcessRunnerOptions { BuildProjects = !options.NoBuild, DebugMode = options.Debug.Any(), ServicesToDebug = options.Debug.ToArray(), DebugAllServices = options.Debug?.Contains("*", StringComparer.OrdinalIgnoreCase) ?? false }); }
void Initialize(HostOptions hostOptions, IConfiguration configuration) { var timeoutSeconds = configuration["shutdownTimeoutSeconds"]; if (!string.IsNullOrEmpty(timeoutSeconds) && int.TryParse(timeoutSeconds, NumberStyles.None, CultureInfo.InvariantCulture, out var seconds)) { hostOptions.ShutdownTimeout = TimeSpan.FromSeconds(seconds); } }
public TransportManager(HostOptions hostOptions, IEnumerable <IHostTransport> hostTransports) { LocalEndPoint = hostOptions.LocalEndPoint; _hostTransports = hostTransports; foreach (var transport in _hostTransports) { _protocolToHostMapping.Add(transport.ProtocolType, transport); } }
static void Main(string[] args) { var hostOptions = new HostOptions { ServiceName = "IsesBackOfficeService", ServiceDisplayName = "Ises BackOffice Service" }; HostHelper.RunHost <Loader>(hostOptions); }
public WindowsServiceLifetime(IHostEnvironment environment, IHostApplicationLifetime applicationLifetime, ILoggerFactory loggerFactory, IOptions <HostOptions> optionsAccessor) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); ApplicationLifetime = applicationLifetime ?? throw new ArgumentNullException(nameof(applicationLifetime)); Logger = loggerFactory.CreateLogger("Microsoft.Hosting.Lifetime"); if (optionsAccessor == null) { throw new ArgumentNullException(nameof(optionsAccessor)); } _hostOptions = optionsAccessor.Value; }
public void UseDefault_HostOptions_ShutdownTimeout() { IHostBuilder hostBuilder = new HostBuilder(); Assert.Same(hostBuilder, hostBuilder.UseCli(Array.Empty <string>())); IHost host = hostBuilder.Build(); TimeSpan timeout = new HostOptions().ShutdownTimeout; IOptions <HostOptions> options = host.Services.GetRequiredService <IOptions <HostOptions> >(); Assert.Equal(timeout, options.Value.ShutdownTimeout); }
/// <summary> /// 启用WebHost /// </summary> /// <param name="app"></param> /// <param name="hostOptions"></param> /// <param name="env"></param> /// <returns></returns> public static IApplicationBuilder UseWebHost(this IApplicationBuilder app, HostOptions hostOptions, IHostingEnvironment env) { //异常处理 app.UseExceptionHandle(); //加载模块 app.UseModules(env); //设置默认文档 var defaultFilesOptions = new DefaultFilesOptions(); defaultFilesOptions.DefaultFileNames.Clear(); defaultFilesOptions.DefaultFileNames.Add("index.html"); app.UseDefaultFiles(defaultFilesOptions); app.UseDefaultPage(); app.UseDocs(); //反向代理 if (hostOptions.Proxy) { app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto }); } //身份认证 app.UseAuthentication(); //CORS app.UseCors(builder => { builder.AllowAnyOrigin(); builder.AllowAnyMethod(); builder.AllowAnyHeader(); builder.AllowCredentials(); //下载文件时,文件名称会保存在headers的Content-Disposition属性里面 builder.WithExposedHeaders("Content-Disposition"); }); //开启Swagger if (hostOptions.Swagger || env.IsDevelopment()) { app.UseCustomSwagger(); } app.UseMvc(); return(app); }
public IServBuilder ConfigureServHostAndPort(Action <HostOptions> config = null) { Container.Register <HostOptions> (p => { var c = new HostOptions(); config?.Invoke(c); return(c); } ).AsSelf().SingleInstance(); return(this); }
static void HostGame(HostOptions h) { Console.WriteLine("Hosting a new game"); DM = LoadEncounter(); Console.WriteLine("Loaded encounter"); var config = new NetPeerConfiguration("Shrinelands") { Port = Program.Port }; peer = new NetServer(config); peer.Start(); while (true) { NetIncomingMessage message; while ((message = peer.ReadMessage()) != null) { switch (message.MessageType) { case NetIncomingMessageType.Data: // handle custom messages var data = message.ReadString(); if (data == "Send DM") { Console.WriteLine("Sending DM to client"); string json = JsonConvert.SerializeObject(DM); var response = peer.CreateMessage("DM\n" + json); peer.SendMessage(response, message.SenderConnection, NetDeliveryMethod.ReliableOrdered); } break; case NetIncomingMessageType.StatusChanged: // handle connection status messages break; case NetIncomingMessageType.DebugMessage: // handle debug messages // (only received when compiled in DEBUG mode) Console.WriteLine(message.ReadString()); break; /* .. */ default: Console.WriteLine("unhandled message with type: " + message.MessageType); break; } } } }
protected StartupAbstract(IHostEnvironment env, IConfiguration cfg) { Env = env; _cfg = cfg; //主机配置 _hostOptions = new HostOptionsSetting(); cfg.GetSection("Host").Bind(_hostOptions); if (_hostOptions.Urls.IsNull()) { _hostOptions.Urls = "http://*:5000"; } }
public WindowsServiceLifetime(IHostEnvironment environment, IHostApplicationLifetime applicationLifetime, ILoggerFactory loggerFactory, IOptions <HostOptions> optionsAccessor, IOptions <WindowsServiceLifetimeOptions> windowsServiceOptionsAccessor) { ThrowHelper.ThrowIfNull(environment); ThrowHelper.ThrowIfNull(applicationLifetime); ThrowHelper.ThrowIfNull(optionsAccessor); ThrowHelper.ThrowIfNull(windowsServiceOptionsAccessor); Environment = environment; ApplicationLifetime = applicationLifetime; Logger = loggerFactory.CreateLogger("Microsoft.Hosting.Lifetime"); _hostOptions = optionsAccessor.Value; ServiceName = windowsServiceOptionsAccessor.Value.ServiceName; CanShutdown = true; }
public ClientHost(IServiceProvider services, IHostApplicationLifetime applicationLifetime, ILogger <ClientHost> logger, IHostLifetime hostLifetime, IOptions <HostOptions> options) { Guard.Throw.ArgumentNullException(services == null, nameof(services)); Guard.Throw.ArgumentNullException(applicationLifetime == null, nameof(applicationLifetime)); Guard.Throw.ArgumentNullException(logger == null, nameof(logger)); Guard.Throw.ArgumentNullException(hostLifetime == null, nameof(hostLifetime)); this.Services = services; this.applicationLifetime = (ApplicationLifetime)applicationLifetime; this.logger = logger; this.hostLifetime = hostLifetime; this.hostedServices = this.Services.GetService <IEnumerable <IHostedService> >() ?? new Collection <IHostedService>(); Guard.Throw.ArgumentNullException(options?.Value == null, nameof(options)); this.options = options !.Value; }
public Server(HostOptions options) { _options = options; ServerLogic server = new ServerLogic(); _logic = server; server.OnClientConnected += OnClientConnected; server.OnClientDisconnected += OnClientDisconnected; server.OnTick += OnTick; server.OnMessage += OnMessage; server.Start(_options.Port); }
public static void Main(string[] args) { /* * ForeignDevicePortOptions options = new ForeignDevicePortOptions() * { * PortId = 1, * BbmdHost = "<bbmd-ip-here>", * BbmdPort = 47808, * LocalHost = "0.0.0.0", * LocalPort = 47808, * RegistrationInterval = TimeSpan.FromSeconds(30) * }; */ EthernetPortOptions ethOptions = new EthernetPortOptions() { PortId = 1 }; PortManagerOptions portMgrOptions = new PortManagerOptions(); RouterOptions routerOpts = new RouterOptions(); routerOpts.PortNetworkMappings.Add(new KeyValuePair <byte, ushort>(1, 0)); HostOptions hostOpts = new HostOptions(); DeviceFinderOptions finderOpts = new DeviceFinderOptions(); //using (ForeignDevicePort port = new ForeignDevicePort(options)) using (EthernetPort port = new EthernetPort(ethOptions)) using (PortManager manager = new PortManager(portMgrOptions)) using (Router router = new Router(routerOpts)) using (Host host = new Host(hostOpts)) using (DeviceFinder finder = new DeviceFinder(finderOpts)) using (Session session = new Session(port, manager, router, host, finder)) { var client = new BACnet.Client.Client(host); // as long as there is at least 1 new devices found every 10 seconds, // for each found device, read that devices name and print it to the console finder.Timeout(TimeSpan.FromSeconds(10)) .Catch(Observable.Empty <DeviceTableEntry>()) .ForEachAsync(entry => { Console.WriteLine(entry.Instance); }) .Wait(); } }
public Host(IServiceProvider serviceProvider, MessageCenter messageCenter, ClientCollection clientCollection, IEnumerable <IMiddleware> middleware, HostOptions hostOptions, ILogger logger) { ServiceProvider = serviceProvider; _messageCenter = messageCenter; _clientCollection = clientCollection; _middleware = middleware; _messageCenter.OnMessage += OnMessage; _messageCenter.OnClosed += OnClosed; LocalEndPoint = hostOptions.LocalEndPoint; _logger = logger.ForContext <Host>(); }
public SigningService( ISigningKeyEncoder signingKeyEncoder, IDocumentExportsFactory documentExportsFactory, ITemplateRepository templateRepository, ISigningRequestRepository signingRequestRepository, ISignatureImageRepository signatureImageRepository, ISigningNotifier signingNotifier, IOptions <HostOptions> hostOptions) { _signingKeyEncoder = signingKeyEncoder; _documentExportsFactory = documentExportsFactory; _templateRepository = templateRepository; _signingRequestRepository = signingRequestRepository; _signatureImageRepository = signatureImageRepository; _signingNotifier = signingNotifier; _hostOptions = hostOptions.Value; }
public RegisterWithEtcdListener(EtcdClient client, BroadcastOptions broadcastOptions, HostOptions hostOptions) { if (client == null) { throw new ArgumentNullException(nameof(client)); } if (broadcastOptions == null) { throw new ArgumentNullException(nameof(broadcastOptions)); } if (hostOptions == null) { throw new ArgumentNullException(nameof(hostOptions)); } _client = client; _broadcastOptions = broadcastOptions; _hostOptions = hostOptions; }