创建一个微服务
约 305 字大约 1 分钟
2025-02-12
用模板创建工程(推荐)
打开 Visual Studio 新建项目,搜索 Mirage 工程模板,用该模板创建工程。
新建的微服务工程如下:
打开 appsettings.json 文件,根据您网关的部署情况,修改网关的 ip 地址、端口等信息,然后运行工程,就会看到以下日志:
Service host started , port:7901
Gateways:[{"Address":"127.0.0.1","Port":8912,"UseSsl":false}]
和网关连接成功,网关ip:127.0.0.1 网关端口:8912 网关版本:3.1.0.1
看到上面的日志,表示微服务已成功运行。
Asp.Net 工程改造为微服务
引用 Nuget 包:Mirage.ServiceProvider.AspNetCore
asp.net 配置文件 appsettings.json( 这里假设 asp.net 的 url 为 http://127.0.0.1:7184 (此 url 是相对于 webapi 节点来说的,通常是一个内网 url) )
{
"urls": "http://*:7184",
"MicroServiceUrl": "http://127.0.0.1:7184", //微服务注册url
"Gateways": [
//网关地址
{
"Address": "127.0.0.1",
"Port": 8912
}
],
"Logging": {
"LogLevel": {
"Default": "Debug"
}
},
"AllowedHosts": "*"
}
在网关中注册微服务:
var gateways = Configuration.GetSection("Gateways").Get<NetAddress[]>();
services.RegisterMirageService(Configuration["MicroServiceUrl"], "DemoService", gateways);
启动微服务:
app.UseMirageService();
注意
Controller的路由只能包含 Controller 和 Action
如:[Route(“[controller]/[action]”)] 或者 [Route(“api/[controller]/[action]”)]
Controller的路由只能包含 Controller 和 Action
如:[Route(“[controller]/[action]”)] 或者 [Route(“api/[controller]/[action]”)]