设为首页 加入收藏

TOP

微服务(入门二):netcore通过consul注册服务(一)
2019-09-17 18:45:39 】 浏览:54
Tags:服务 入门 netcore 通过 consul 注册

 

基础准备


1.创建asp.net core Web 应用程序选择Api

2.appsettings.json 配置consul服务器地址,以及本机ip和端口号信息

 

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "Consul": {
    "IP": "127.0.0.1",
    "Port": "8500"

  },
  "Service": {
    "Name": "zyz"
  },
  "ip": "localhost",
  "port": "6655",

  "AllowedHosts": "*"
}

 

 

3.程序入口(program.cs)配置useurls,ip和port从配置文件(或者命令行中)读取(命令行启动方式:dotnet ConsulServer.dll --ip localhost --port 8644

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;

namespace ConsulServer
{
    public class Program
    {

        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args)
        {
            var config = new ConfigurationBuilder().AddCommandLine(args)
              .Build();//获取配置信息
            return WebHost.CreateDefaultBuilder(args)
                .UseUrls($"http://{ config["ip"]}:{config["port"]}")//配置ip地址和端口地址
                .UseStartup<Startup>();
        }

    }
}

 

 

4.配置基础数据,并且调用注册consul接口

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Consul;
using ConsulServer.ConsulApi;
using ConsulServer.entity;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;

namespace ConsulServer
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime)
        {

        
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            ////配置信息单例
            //ConfigSingleton.setConfigSingleton(Configuration);
           
            app.UseMvc();

            ConsulEntity consulEntity = new ConsulEntity
            {
                ip = Configuration["ip"],
                port = int.Parse(Configuration["port"] ),
                ServiceName = "zyz",
                ConsulIP = Configuration["Consul:IP"],
                ConsulPort = Convert.ToInt32(Configuration["Consul:Port"])
            };
            app.RegisterConsul(lifetime, consulEntity);
        }

    }
}

 

 

 

 5.配置注册信息

using Consul;
using ConsulServer.entity;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.H
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C# 神奇的Web services 请求超时.. 下一篇不合法的DB Index

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目