代码之家  ›  专栏  ›  技术社区  ›  Codor

使用带有autofac的gRPC

  •  0
  • Codor  · 技术社区  · 4 年前

    基于 this

    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 命名空间。我完全迷路了,托管系统使用的依赖注入机制可以首先被其他机制交换吗?

    任何帮助感谢。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Marc Gravell    4 年前

    在这种情况下,gRPC记录器构造函数签名只是从ASP中提取DI。NET Core,所以这里没有什么是特定于gRPC的。这里的根本问题很简单:“如何在ASP.NET Core中使用autofac?”-在这种情况下: https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html ? (注意不同版本之间的指南有所不同;如果您使用的是最新版本,请向下滚动到“3.0+”- https://autofaccn.readthedocs.io/en/latest/integration/aspnetcore.html#asp-net-core-3-0-and-generic-hosting )