在.NET Core中使用依赖项注入时无法访问已处置的对象

时间:2019-07-03 10:10:20

标签: c# dependency-injection .net-core

我想单独执行一个方法。请告诉我该怎么做。

这是我的代码

var record = await _verificationCodeRepository.FindOneAsync(v =>
            v.SerialNumber == request.SerialNumber
         && v.Type == request.Type
         && v.Code == request.Code
         && v.CreatedOn.AddMinutes(1) >= DateTime.UtcNow);
 Guid codeId = record.Id;
 DeleteCode(codeId);

 return new VerifyPINCodeResponse(true, null);

我想在不等待的情况下这样做。

这是我的删除方法

public async Task DeleteCode(Guid id)
{
    try
    {
        KYCVerificationCode kYCVerificationCode = new KYCVerificationCode();
        kYCVerificationCode.Id = id;

        var deletedResult = await _verificationCodeRepository.DeleteAsync(kYCVerificationCode);

        if (deletedResult == null)
        {
            _logger.LogWarning("Failed to delete verification code record of ID: " + id);

        }
    }
    catch (Exception e)
    {
        _logger.LogWarning("An error occurs while deleting verification code record of ID: " + id + " Error:" + e.ToString());
    }

}

执行此代码时,会发生此错误

  

无法访问已处置的对象。此错误的常见原因是   放置从依赖项注入中解决的上下文,并   然后稍后尝试在您的其他位置使用相同的上下文实例   应用。如果您正在调用Dispose()   上下文,或将上下文包装在using语句中。如果你是   使用依赖注入,应该让依赖注入   容器负责处理上下文实例。对象名称:   “ KYCDBContext”。

请帮助我解决此问题 谢谢

0 个答案:

没有答案