添加新服务时,blazor.net 中没有类型错误的注册服务

Aru*_*mar 8 blazor

我已经按照文档设置了一个示例blazor.net 应用程序。之后,我创建了一个新服务并硬编码了一些数据并尝试运行该应用程序。

但是我在控制台中收到以下错误:

没有类型的注册服务 <applicationName>.App.Services.<serviceName>

好像新的服务名需要在什么地方注册一些,请问如何注册新的服务?

gpa*_*los 9

值得注意的是,对于 Blazor WebAssembly,没有像 Blazor Server 中的 Startup 类。在 Blazor WebAssembly 中,我们可以在 Program.cs 中注册服务,如下所示:

public static async Task Main(string[] args)
{
    var builder = WebAssemblyHostBuilder.CreateDefault(args);

    //...other services
    builder.Services.AddSingleton<MyNewService>();

    builder.RootComponents.Add<App>("app");
    await builder.Build().RunAsync();
 }
Run Code Online (Sandbox Code Playgroud)


Aru*_*mar 7

新创建的服务名称应该ConfigureServices<applicationName>.App\Startup.cs文件中的方法中注册。

例如,如果新的服务名称是MyNewService.cs,则应在ConfigureServices方法中添加如下。

示例代码:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        // ... existing services
        services.AddSingleton<MyNewService>();
    }

    ...
    ...
Run Code Online (Sandbox Code Playgroud)

  • Blazor WebAssembly 3.2.0 客户端中配置的服务已从 Startup.ConfigureServices 移至 Program.cs builder.Services 集合 (2认同)