Пользователи = {"Невозможно получить доступ Распространенной причиной этой ошибки является удаление экземпляра контекста, который был разрешен в результате внедрения зависимостей, а затем попытка использовать тот же экземпляр контекста в другом месте вашего приложения. Это может произойти, если вы вызываете Dispose в контексте. экземпляра или обернуть его в оператор using. Если вы используете внедрение зависимостей, вы должны позволить контейнеру внедрения зависимостей позаботиться об удалении экземпляров контекста.\r\nИмя объекта: 'AppDbContext'."
Это происходит, когда я запускаю 2-й проект, но этого не произошло в предыдущем, зная, что я ничего не менял.
Я читал, что эта проблема возникает, когда контроллер или метод возвращают async void, но нигде в моем коде нет метода, который возвращает это, только async Task/async Задача.
Я добавил комментарии, в которых отладчик показывает, что возникла проблема:
Код: Выделить всё
CreateRoles.cs
Код: Выделить всё
public static class CreateRoles
{
public static async Task SeedAsync(
UserManager userManager,
RoleManager roleManager,
IConfiguration configuration,
IPasswordHasher passwordHasher)
{
IdentityResult roleResult;
var applicationRoleAdmin = new ApplicationRole
{
Id = Guid.Parse("cb0dc828-2755-4b3f-9035-788839dcc8cf"),
Name = "Admin"
};
var applicationRoleUser = new ApplicationRole
{
Id = Guid.Parse("17fdc6f4-bffe-45e6-9ca6-adb0af6ffcc3"),
Name = "User"
};
// THIS IS WHERE THE ISSUE HAPPENS, its on adminRoleExist that it breaks out of this class
// and goes back to Program.cs which never happened on the 1st project
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
await DataHelper.ManageDataAsync(services, cancellationToken);
try
{
// THIS IS WHERE THE DEBUGGER SHOWS THE ERROR, on userManager and goes to the catch statement
Подробнее здесь: [url]https://stackoverflow.com/questions/79149722/cannot-access-a-disposed-context-instance-that-just-started-to-happen-no-inje[/url]