예제 #1
0
        private HostedService(HostedServiceConfiguration configuration)
        {
            _cancellationTokenSource = new CancellationTokenSource();

            // Create instance name
            configuration.ServiceInstanceName = $"{configuration.ServiceName}.{DateTime.UtcNow.ToString("yyyyMMddHHmmssfff")}";

            _kernel = new StandardKernel();
            _kernel.Bind <HostedServiceConfiguration>().ToMethod(context => configuration).InSingletonScope();

            _kernel.Load(Assembly.GetExecutingAssembly());
            _kernel.Load(new CoreModule());
            _kernel.Load(configuration.Modules.ToArray());

            _log = _kernel.Get <ILogger>();

            _discovery = _kernel.Get <IServiceDiscovery>();
            _log.Debug($"Service instance ID is '{configuration.ServiceInstanceName}'");
        }
예제 #2
0
 public RoutePrefixProvider(HostedServiceConfiguration serviceConfig)
 {
     _serviceConfig = serviceConfig;
 }
예제 #3
0
 internal static HostedService Create(HostedServiceConfiguration configuration)
 {
     return(new HostedService(configuration));
 }