Ursache und mögliche Korrekturen für die Ausnahme von "Zugriff auf eine entsorgte Objekt können nicht zugreifen könnenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Ursache und mögliche Korrekturen für die Ausnahme von "Zugriff auf eine entsorgte Objekt können nicht zugreifen können

Post by Anonymous »

Ich bin an diesem Fehler festgehalten.
Eine erhebliche Zeitspanne, und ich verstehe nicht, was das Problem verursacht und wie ich es lösen kann. < /p>
Der fragliche Code verwendet a Lambda, um ein Wertepaar aus einer Funktion zurückzugeben, und ich bin ziemlich zuversichtlich, dass dies der Teil des Programms ist, der meinen Fehler verursacht, aber ich bin nicht sicher, dass dies der Fall ist, und ich weiß nicht einmal, wie es repariert wird Es war selbst wenn ich zuversichtlich in meiner Antwort war. Ich würde mich über jeden Einblick freuen, da ich mich gerade ziemlich festgefahren fühle. -Override ">

Code: Select all

await HelperService.ProcessApplication(application,
async (status, reason) =>
{
application.ApplicationStatus = status;
response.ApplicationStatus = status;
response.Reasons = reason;

if (status is not "APPROVED")
return;

var membersTasks = application.Applicants.Select(async applicant =>
await memberService.CreateMember(applicant)).ToList();
var members = (await Task.WhenAll(membersTasks)).ToList();
Member primaryMember = members.First();

List accounts = await accountService.CreateAccount(
application,
primaryMember,
members);

members.ForEach(member => member.Accounts = accounts);
await memberService.SaveAllMembers(members);

List createdAccounts = accounts.Select(account =>
new AccountResponse() {
AccountNumber = account.AccountNumber,
AccountType = Enum.TryParse(
account.GetType().Name,
out AccountType enumType) ? enumType : null }).ToList();
List createdMembers = members.Select(member =>
new MemberResponse() {
MembershipId = member.MembershipId,
Name = $"{member.Applicant.FirstName} {member.Applicant.MiddleName} {member.Applicant.LastName}" }).ToList();

response.AccountsCreated = true;
response.CreatedAccounts = createdAccounts;
response.MembersCreated = true;
response.CreatedMembers = createdMembers;
}
);
< /code>
ProcessApplication
Funktion:
public static Task ProcessApplication(Application application, Func response)
{
List reasons = [];

CheckIncome(application, reasons);

if (reasons.Count is 0)
response("APPROVED", ["Your application has been approved."]);
else
response("DENIED", reasons);
}
< /code>
Repository where error is triggered:
public async Task Save(T model)
{
await context.Set().AddAsync(model);
await context.SaveChangesAsync();
}
< /code>
EDIT: added attempted code fixes and repository code that triggers error for clarity.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post