static async Task Main(string[] args) { var services = new ServiceCollection(); services.AddLogging(); services.AddOptions(); services.AddWcfService <MyTestService>(service => { service.AddNetTcpEndpoint(typeof(IMyService), EndpointAddress.ForNetTcp(11000), binding => binding.WithNoSecurity()).Discoverable(); }); services.AddDiscovery <NetTcpBinding>(new Uri("net.tcp://localhost:8001/Announcement"), TimeSpan.FromSeconds(10), b => b.WithNoSecurity()); var sp = services.BuildServiceProvider(); var hostedService = sp.GetRequiredService <IHostedService>(); await hostedService.StartAsync(CancellationToken.None); Console.WriteLine("Service started!"); Console.ReadLine(); await hostedService.StopAsync(CancellationToken.None); }
static async Task Main(string[] args) { var services = new ServiceCollection(); services.AddLogging(logging => logging.AddConsole().SetMinimumLevel(LogLevel.Trace)); services.AddWcfService <TestService>(service => { service.AddBasicHttpEndpoint(typeof(ITestService), EndpointAddress.ForHttp(port: 10001, path: "test")); service.AddMetadataEndpoints(); }); services.AddWcfService <AnotherTestService>(service => { service.AddBasicHttpEndpoint(typeof(ITestService), EndpointAddress.ForHttp(port: 10002, path: "test")); service.AddMetadataEndpoints(); }); var serviceProvider = services.BuildServiceProvider(); var hostedServices = serviceProvider.GetServices <IHostedService>().ToArray(); foreach (var hostedService in hostedServices) { await hostedService.StartAsync(default);
static async Task Main(string[] args) { var services = new ServiceCollection(); services.AddLogging(logging => logging.AddConsole().SetMinimumLevel(LogLevel.Trace)); services.AddWcfService <TestService>(service => { service.AddNamedPipeEndpoint(typeof(ITestService), EndpointAddress.ForNamedPipe("test")); }); var serviceProvider = services.BuildServiceProvider(); var hostedService = serviceProvider.GetService <IHostedService>(); await hostedService.StartAsync(default);