将 gRPC 与 autofac 结合使用

use gRPC with autofac

根据 this 教程,我使用 gRPC 创建了服务器和客户端应用程序。出于测试目的,这工作正常。自动生成以下class(无关部分省略)。

public class GreeterService : Greeter.GreeterBase
{
    public GreeterService(ILogger<GreeterService> logger)
    {
        // some constructor code
    }

    public override Task<HelloReply> SayHello(HelloRequest request,
                                              ServerCallContext context)
    {
        // some stuff
    }
}

显然,通过演示应用程序的设置,使用了一些依赖注入机制,源自 Microsoft.Extensions.DependencyInjection 命名空间。

有没有人知道有什么方法可以替代这种机制并使用 autofac(我更熟悉)来代替?这很简单吗?我不喜欢 Microsoft.AspNetCore.Hosting 命名空间中的托管机制。我完全迷路了,托管系统使用的依赖注入机制是否可以首先由其他机制交换?

感谢任何帮助。

在这种情况下,gRPC 记录器构造函数签名只是从 ASP.NET 核心的 DI 中提取,因此这里实际上没有什么是特定于 gRPC 的。这里的根本问题很简单:“如何在 ASP.NET Core 中使用 autofac?” - 在这种情况下:https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html ? (note the guidance changes between versions; scroll down to "3.0+" if you're using up-to-date bits - https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html#asp-net-core-3-0-and-generic-hosting)