Я создаю проект Blazor, который сначала работает нормально, пока мне не нужно внедрить IJSRuntime
в cs
файл.
Microsoft.JSInterop;
...
...
public BaseService(IJSRuntime jSRuntime)
{
}
BaseService
наследуется в другом сервисе с именем AuthenticationServices
который также использует интерфейс под названием IAuthentication
. Таким образом,
using Microsoft.JSInterop;
public class AuthenticationServices : BaseService, IAuthentication
{
public AuthenticationServices(IJSRuntime jSRuntime) : base(jSRuntime)
{
}
}
Моя проблема в Startup.cs
файле, который имеет этот код
services.AddSingleton<IAuthentication, AuthenticationServices>();
Если я запускаю приложение, оно говорит:
InvalidOperationException: Cannot consume scoped service 'Microsoft.JSInterop.IJSRuntime' from singleton '...IAuthentication'
Что делает это означает? Я правильно делаю, что мне нужно только что-то добавить?