C# AutoMapper+;Blazor(WebAssembly)缓慢行为

C# AutoMapper+;Blazor(WebAssembly)缓慢行为,c#,automapper,blazor,blazor-client-side,C#,Automapper,Blazor,Blazor Client Side,我的程序集中有十几个,在服务器端Blazor上运行得非常好!但是Blazor WebAssembly的速度非常慢(几乎一分钟),问题是用户在每次页面刷新时都必须等待,有什么办法可以解决吗 代码如下: public static async Task Main(string[] args) { var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add<App>

我的程序集中有十几个,在服务器端Blazor上运行得非常好!但是Blazor WebAssembly的速度非常慢(几乎一分钟),问题是用户在每次页面刷新时都必须等待,有什么办法可以解决吗

代码如下:

public static async Task Main(string[] args)
{
    var builder = WebAssemblyHostBuilder.CreateDefault(args);
    builder.RootComponents.Add<App>("app");

    var configuration = new MapperConfiguration(cfg =>
    {
       cfg.AddMaps(currentAssembly);
    });
    builder.Services.AddSingleton(configuration.CreateMapper());

    await builder.Build().RunAsync();
}
公共静态异步任务主(字符串[]args)
{
var builder=WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add(“应用程序”);
var配置=新的MapperConfiguration(cfg=>
{
cfg.AddMaps(currentAssembly);
});
builder.Services.AddSingleton(configuration.CreateMapper());
等待builder.Build().RunAsync();
}
我知道问题在于每次页面刷新都会调用
configuration.CreateMapper()
(因为这是Blazor WebAssembly行为),但我无法找到解决方法


我还担心在速度较慢的机器上运行此操作…

配置。每次页面刷新都会调用CreateMapper()
(因为这是Blazor WebAssembly行为),只是出于个人兴趣,您是否有记录此行为的链接?我不明白为什么会出现这种情况,因为您正在调用一次
configuration.CreateMapper()
,并将返回值作为单例添加。您永远不会捕获该方法调用,只捕获返回值,那么为什么还要再次调用它呢?Blazor WebAssembly是一个本地环境,所有东西都运行客户端,甚至DI管道。哦,这就是你的意思。我知道整个main方法将在刷新时运行,我以为您的意思是只有
配置.CreateMapper()
会多次运行(因为在
AddSingleton
中使用)。很抱歉造成混淆。在使用WASM blazor时,API是为客户端构建的,因此我正在使共享项目中的模型/DTO具有我需要的所有详细信息。我在服务器项目中有automapper,它将模型/dto裁剪成实体。有关于这个问题的更新吗?