创建API项目修改Program

public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
} public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://127.0.0.1:5001");
}

修改Startup

 public void Configure(IApplicationBuilder app, IHostingEnvironment env,IApplicationLifetime applicationLifetime)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseMvc();
//注册Consul //要注册的服务地址
string ip = "http://127.0.0.1";
//要注册的服务端口
string port = "";
string serviceName = "Values";
string serviceId = "test123456789";
using (var consulClient = new ConsulClient(ConsulConfig))
{
AgentServiceRegistration asr = new AgentServiceRegistration
{
Address = ip,
Port = Convert.ToInt32(port),
ID = serviceId,
Name = serviceName,
//设置服务健康监测的服务,并设置轮询机制
//制定定期检测服务状况
Check = new AgentServiceCheck
{
DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(),
HTTP = "http://127.0.0.1:5001/api/Health",
Interval = TimeSpan.FromSeconds(),
Timeout = TimeSpan.FromSeconds()
}
};
consulClient.Agent.ServiceRegister(asr).Wait();
}
applicationLifetime.ApplicationStopped.Register(() => {
using (var consulClient = new ConsulClient(ConsulConfig))
{
Console.WriteLine("应用退出,开始从Consul注销");
consulClient.Agent.ServiceDeregister(serviceId).Wait();
}
});
}
//Consul-配置委托
private void ConsulConfig(ConsulClientConfiguration config)
{
//数据中心地址
config.Address = new Uri("http://localhost:8500");
config.Datacenter = "dc1";
}

添加HealthController

[Produces("application/json")]
[Route("api/Health")]
public class HealthController : Controller
{
[HttpGet]
public IActionResult Get()
{
Console.WriteLine("健康检查" + DateTime.Now);
return Content("ok");
} }

最新文章

  1. redis基本配置和相关设置
  2. sql server 导出表结构
  3. Python第九章模块和包
  4. NS记录
  5. MockupBuilder
  6. poj3693 Maximum repetition substring
  7. linux中cat、more、less、tail、head命令
  8. POJ 2417 Discrete Logging
  9. LeetCode 120. Triangle (三角形)
  10. MATLAB R2017a 安装与破解
  11. ES创建mapping时字段别名
  12. Docker最全教程之使用Docker搭建Java开发环境(十七)
  13. Vue Mixin 与微信小程序 Mixins 应用
  14. pc安装完成charles成功,小米安装crt证书失败
  15. 关于element组件中分页的一些个人思路
  16. 5DAY高级权限
  17. Could not load file or assembly Microsoft.SqlServer.management.sdk.sfc version 11.0.0.0
  18. 5D - Rectangles
  19. Android之apk优化
  20. B2C和B2B之间有多大差距

热门文章

  1. 如何让css与js分离
  2. Docker容器技术入门
  3. 【Struts2】工作流程
  4. Java面试题集(116-135)
  5. appium输入和清除操作各方法对比(android)
  6. 密码学 - MD5 - 生成|加密|解密|相关工具
  7. Win10.Shift+鼠标右键_CMD(管理员)
  8. sqlplus无法登陆?
  9. Spark-Core RDD转换算子-kv型
  10. linux中文件属性