将 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)
根据 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)