【发布时间】:2020-02-27 04:37:40
【问题描述】:
我正在使用 dot net core 3.0。
我有 gRPC 应用程序。我可以通过 gRPC 协议与之通信。
我认为我的下一步是添加一些宁静的 API 支持。我修改了我的启动类以添加控制器、路由等......当我尝试使用浏览器导航到 API 时,无论我使用哪种协议 (http/https) 和端口,我都会收到错误“ERR_INVALID_HTTP_RESPONSE”。 gRPC 应该使用 5001,webapi 应该使用 8001。
这是我的创业课程:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddGrpc();
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
app.UseRouting();
app.UseHttpsRedirection();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapGrpcService<BootNodeService>();
endpoints.MapControllers();
});
}
}
还有我的控制器:
[ApiController]
[Route("[controller]")]
public class AdminController : ControllerBase
{
[HttpGet] public string Get()
{ return "hello"; }
}
有什么想法吗?
谢谢
编辑:整个项目可以在this repo找到。
【问题讨论】:
-
你有 github repo 还是有完整代码的东西(比如你的 .csproj 和
BootNodeService类) -
@BurnsBA 当然。我在问题正文的底部添加了链接。
-
您确定您的网络端口在端口 8001 上吗?看起来您的项目配置为 11837/44380 (http/https)。我克隆了您的项目并按 f5,浏览器自动加载
https://localhost:44380/admin并显示“来自管理员的问候” -
@BurnsBA 好的。谢谢。您是否偶然使用了 macOS?
-
没有宏。 Visual Studio 2019,尽管它应该与 dotnet core 3 的任何 msbuild 工具构建相同