Ich habe ein Problem mit Entity Framework-Objekt in einem Webapi-Projekt. Seit 2-3 Tagen funktioniert alles gut, aber jetzt, die API ich rufe immer "Out of Memory Ausnahme" zurück.Webapi2 Rückgabe ef Objekt
Zuerst suche ich nach dem klassischen "zirkulären Referenzfehler", aber das ist nicht der Fall.
In der WebAPI Konfiguration habe ich diese
config.Formatters.JsonFormatter.SerializerSettings.TypeNameHandling = TypeNameHandling.None;
config.Formatters.JsonFormatter.SerializerSettings.Formatting = Formatting.None;
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
Und ef-Objekt zurückgeben I Funktion wie diese
public Contatti GetContatto([FromUri]int id)
{
var db=new WebEntities();
return(db.Contatti.Single(x=>x.IDContatto == id));
}
Es gibt eine Möglichkeit, ein ef Objekt zurückzukehren (mit seinem subobject) in einem Antwort von json mit webapi2?
Was macht Ihrer Meinung nach die „Out of Memory“ Ausnahme durch Erzeugen der json von EF6 Objekte verursacht wird? Hast du die Speichernutzung auf dem Server überprüft? Entsorgen Sie große Objekte? Wenn Sie die Website neu starten, erhalten Sie diese Ausnahme weiterhin? –
OOM könnte durch andere Methode (n) verursacht worden sein. Zu der Zeit, als Sie die GetContatto-Methode aufgerufen haben, war der für den Anwendungspool reservierte Speicher bereits erschöpft, und die Ausnahme wurde ausgelöst. – Win