小编jus*_*mer的帖子

我可以在 C# 中将 gRPC 和 webapi 应用程序组合到 .NET Core 3.0 中吗?

我正在使用 dot net core 3.0。

我有 gRPC 应用程序。我能够通过 gRPC 协议与它通信。

我认为我的下一步是添加一些 Restful 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();

        });
    }
}
Run Code Online (Sandbox Code Playgroud)

还有我的控制器:

[ApiController]
[Route("[controller]")] 
public class AdminController : ControllerBase 
{ 
    [HttpGet] public string Get() 
    { return "hello"; } 
}
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

谢谢

编辑:整个项目可以在这个 …

c# rest .net-core grpc

8
推荐指数
1
解决办法
3207
查看次数

标签 统计

.net-core ×1

c# ×1

grpc ×1

rest ×1