Asp. net core: получение Ошибка доступа к удаленному объекту при вставке данных в базу данных - PullRequest
0 голосов
/ 16 июня 2020

ASP. NET Core 3.0 с EF Core - я пытаюсь вставить данные в базу данных, но получаю сообщение об ошибке

Невозможно получить доступ к удаленному объекту

private readonly AppDbContext _context;

public erviceController(AppDbContext appDbContext)
{
    _context = appDbContext;
}
[HttpPost]
public ActionResult Index(IFormCollection formCollection)
{
    ...
    ...
    ...
    CallService();

    return View();
}
public async void CallService()
{
    var product = p1.Value;
    var a = product.first;
    foreach (int Age in a.age)
    {
        foreach (int Gender in a.sex)
        {
            foreach (int Healthclass in a.uclass)
            {
                RequestData requestData = new RequestData()
                {
                    ProductID = 534,
                    STATE = "CO",
                    AGE1 = Age,
                    SEX1 = Gender,
                    UND_CLASS1 = Healthclass,

                };
                string reqedata = requestData.XmlSerializetoString();
                await client.OpenAsync();
                var result2 = await client.RequestAsync(reqedata, partner);
                var requestoutput = new RequestOutputViewmodel();
                requestoutput = result2.DeserializeToObject();
                List<Response> result = new List<Response>();
                if (requestoutput.TotalInitialPremium != null)
                    result.Add(new Response { RunID = "1", Name = "TotalInitialPremium", Result = requestoutput.TotalInitialPremium });
                if (requestoutput.TargetPremium != null)
                    result.Add(new Response { RunID = "1", Name = "TargetPremium", Result = requestoutput.TargetPremium });
                foreach (var results in result)
                {
                    await _context.responses.AddAsync(results);
                    await _context.SaveChangesAsync();
                }
                Thread.Sleep(5000);
            }
        }
    }
}

Я получаю сообщение об ошибке

_context.responses.AddAsync(response);

Кто-нибудь может мне помочь с этим?

Сообщение об ошибке:

Нет доступа к удаленному объекту. Распространенной причиной этой ошибки является удаление контекста, который был разрешен с помощью внедрения зависимости, а затем попытка использовать тот же экземпляр контекста в другом месте вашего приложения. Это может произойти, если вы вызываете Dispose () в контексте или заключаете контекст в оператор using. Если вы используете внедрение зависимостей, вы должны позволить контейнеру внедрения зависимостей позаботиться об удалении экземпляров контекста. Имя объекта: 'AppDbContext'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...