Had*_*zad 2 asp.net appsettings asp.net-web-api grpc grpc-dotnet
我正在尝试在特定端口(如 5000)上使用 ASP.NET Core 6 并行 REST API 运行 gRPC 服务器和客户端。我的意思是,我想使用 localhost:5000,但在检查了 的dotnetgRPC 模板之后,我发现Http2应该为 Kestrel 端点设置协议,appsettings.json如下所示:
{
"urls": "http://localhost:5000",
"Kestrel": {
"EndpointDefaults": {
"Protocols": "Http2"
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过这样做,我遇到了一个问题,我的 REST API 不再工作,我猜这是因为Http2提供给 Kestrel 端点的协议,因为当我删除提供的协议 API 时,它可以正常工作;相反,gRPC 客户端无法工作。有什么办法可以并行运行两个端点吗?
可以通过以下appsettings.json配置将 gRPC 和 Web API 配置为使用不同的端口:
{
"Kestrel": {
"Endpoints": {
"gRPC": {
"Url": "https://localhost:5000",
"Protocols": "Http2"
},
"WebApi": {
"Url": "http://localhost:5001",
"Protocols": "Http1"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1859 次 |
| 最近记录: |