2016-11-16 3 views
0

ich zur Zeit einen Controller in meinem WebAPI haben, die eine Liste von einigen Elementen in meiner Datenbank zurückgibt:System.AccessViolationException unbekannt Modul

Wie unten:

public ICollection<TherapyGroup> OffUnit() 
{     
     return _context.TherapyGroups.OrderBy(g => g.Name) 
        .Where(x => x.GroupTypeOffUnitOnUnit == TherapyGroup.OffUnit) 
        .ToList();    
} 

Alles funktioniert gut, wenn ich mich entschieden gegen meine lokale Datenbank; Wenn ich jedoch die Datenbankzeichenfolge für eine entfernte Datenbank ausschalte, löst sie eine System.AccessViolationException aus. Basierend auf Haltepunkten werden die Daten von der Datenbank zurückgegeben, und es scheint, dass das Problem auftritt, wenn die Methode zu dem WebApi in MVC zurückkehrt. Dies ist zu einem sehr frustrierenden Thema geworden, und ich würde jede Hilfe lieben, um es zu navigieren.

Der Fehler Fenster, das knallt: enter image description here

+1

Können Sie bitte den Stack-Trace von der Ausnahme liefern, die Sie sehen? –

+0

Ich sehe keine Stack-Trace ... Beachten Sie, dass die Verletzung in einem unbekannten Modul passiert. –

+0

Fügen Sie in Ihrem Code try catch block hinzu. Dann gib mehr Details an. – Bigeyes

Antwort

0

die Methoden Verzieren Sie diese Ausnahmen in mit den HandleProcessCorruptedStateExceptions Attribut fangen wollen. Einzelheiten finden Sie unter https://msdn.microsoft.com/en-us/magazine/dd419661.aspx#id0070035.

[HandleProcessCorruptedStateExceptions] 
[SecurityCritical] 
public ICollection<TherapyGroup> OffUnit() 
{ 
     try 
     { 
      return _context.TherapyGroups.OrderBy(g => g.Name).Where(x => x.GroupTypeOffUnitOnUnit == TherapyGroup.OffUnit).ToList(); 
     } 
     catch (Exception e) 
     { 
      // set break point to see the stack trace. 
      Debug.WriteLine(e.InnnerException); 
      return null; 
     } 
} 
+0

Ich habe das getan. Es erreicht nicht den Breakpoint, wie es scheint. Was darauf hindeutet, dass das Problem nach der Rückkehr passiert. –

+0

@CodyShort, könnten Sie '' in Ihrer Konfigurationsdatei hinzufügen. Bitte schauen Sie auch [hier] (http://stackoverflow.com/questions/2950130/how-to-simulate-a-corrupt-state-exception-in-net-4). – Bigeyes

+0

Ich denke, ich werde zum Thema .. Ich glaube, die Art, wie Datentypen in sql Server v10 (remote) und v9 (lokal) in irgendeiner Weise (vielleicht Datum mal?) Es scheint, wenn ich das Objekt nehme und zu verwenden string um ein return object vorzubereiten Dinge funktionieren. –

Verwandte Themen