2016-05-15 6 views
0

Ich habe ein Problem mit Application Insight Berichterstattung über Ausnahmen mit EF-Kontext beim Speichern in der Datenbank.Aufgabe Datenbankfehler in App Insight

enter image description here

private async Task SendAsync(IEmailDataModel model) 
{ 
    await _emailHelper.SendAsync(model.To, model.Subject, model.Body); 

    /* send messages */ 
    var logEmail = new LogEmail 
    { 
     UserSignatureId = GetUserSignature(model.To), 
     LogTaskId = model.LogTaskId, 
     Type = (int)model.Type, 
     Subject = model.Subject, 
     From = _defaultConfig.SupportEmailAddress, 
     To = model.To, 
     Content = model.Body, 
     CreatedOn = DateTime.UtcNow 
    }; 

    _unit.Repository<LogEmail>().Insert(logEmail); 
    await _unit.SaveChangesAsync(); 
} 

Wie soll ich das Debuggen nehme? Ich benutze WebJobs mit TimerTrigger.

+0

ohne Bezug: Ich sehe, dass die Daten in Ihrem Suchfenster alle 1/1/0001 Mitternacht sind. Welche lokalen/Datumseinstellungen haben Sie auf Ihrem Computer, so dass ich den Teil aufspüren und reparieren kann, der Ihnen nicht das richtige Datum anzeigt? Sie können entweder hier kommentieren oder senden Sie mir eine E-Mail direkt unter jgardner @ microsoft –

+0

es ist GMT + 1 lokalen Einstellungen –

+0

Wenn Sie zu Tools -> Erweiterungen und Updates gehen, welche Version ist die "Developer Analytics Tools" Erweiterung? ich nehme an * es ist 5.2.x oder älter, ich glaube, das ist in Sachen behoben, die 5.200.x oder neuer sind. hypothetisch. –

Antwort

0

Wenn App Insights diese Ausnahme angibt, liegt das daran, dass die Ausnahme tatsächlich auftritt.

Die Chancen stehen gut, irgendwo im Stapel, wer SendAsync nicht erwartet, dass Anrufe oder weiter und weiter zurück, ist jemand nicht erwarten irgendwann auf einer dieser async Methoden aufrufen.

Wenn also die Änderung zurückgewiesen wird (was die innere Ausnahme aus Validierungsgründen sagt), ist niemand in der Nähe, um sie zu erfassen und irgendjemandem davon zu erzählen, also wirft der Finalizer die Ausnahme auf, die niemand gehandhabt hat.

Und Anwendungseinblicke werden registriert, um nicht behandelte Ausnahmen zu protokollieren, sodass Ihnen Ausnahmen angezeigt werden, die Ihnen sonst möglicherweise nicht bekannt sind.

Verwandte Themen