Autofac Blazor 集成
ASP.NET Core Blazor 使用 ASP.NET Core 3+ 中的通用应用托管,但两种 托管模型 的集成略有不同。
服务器端 实现与任何其他 ASP.NET Core 3 应用程序的配置方式完全相同。
客户端 注入稍微受到限制,因为需要 WebAssembly 托管的要求。
此 WebAssembly 示例适用于 2021 年 3 月 30 日的 .NET 5。示例:
public class Program
{
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.ConfigureContainer(new AutofacServiceProviderFactory(ConfigureContainer));
builder.RootComponents.Add<App>("#app");
await builder.Build().RunAsync();
}
private static void ConfigureContainer(ContainerBuilder builder)
{
// 在这里添加任何注册项
}
}
一旦注册,Blazor 组件可以通过 依赖注入 使用 标准 @inject Razor 指令 。