示例#1
0
        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);
        }
示例#2
0
        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);
示例#3
0
        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);