Ich habe eine neue asp.net mvc-5 Web-Anwendung mit Visual Studio 2013 erstellt und ich meine Datenbanktabellen mit Entity Framework 6, die generiert eine .edmx
Datei. Dann habe ich eine neue Controller-Klasse erstellt. Ich überprüfte den generierten Code für die neue Controller-Klasse, und ich finde, dass ich am Ende der Controller-Klasse die folgende bekam die aktuelle HTTP-Anforderung für die Entsorgung: -Wie kann ich sehen, was in der "abstrakten Klasse Controller" für Dispose-Methode abgedeckt ist
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
jetzt weiß, dass ich die folgenden Fakten über die aktuelle Entsorgung http-Anforderung: -
Die obige Dispose() - Methode überschreibt die Dispose-Methode in der Controller-Basisklasse. und diese Dispose-Methode wird am Ende der HTTP-Request-Behandlung aufgerufen.
Die obige Dispose() - Methode wird die aktuelle db-Verbindung entfernen und dann die Dispose() -Methode innerhalb der Controller-Basisklasse aufrufen.
aber ich habe folgende Fragen: -
- als ich versuchte, die Basis dispose-Methode Zugriff auf "Gehe zu Definition" verwendet wird, wie folgt: -
Ich wurde innerhalb der abstrakten Klasse umgeleitet, mit leeren Methodenimplementierung für Dispose()
. So gibt es eine Möglichkeit, die Implementierung für t kennen er dispose Methode innerhalb der Controller-Basisklasse?
auf einigen Online-Tutorials sie die folgende Methode in der Dispose-Methode aufrufen: -
GC.SuppressFinalize (this);
so bin ich nicht sicher, ob dieser Teil der Standardimplementierung für die Dispose()
Methode in der Controller-Basisklasse ist, oder ich muß explizit in der Dispose-Methode der Müllsammler nennen?
Dank
bearbeiten hier ist der öffentliche Code-Controller abstrakte Klasse, wo die dispose-Methode leer ist: -
Warum wird dieser Code nicht im Visual Studio angezeigt? Muss ich diesen Code in meinem aktuellen Projekt bereitstellen? Jetzt befindet sich die System.Web.Mvc.Controller-Klasse im folgenden Verzeichnis: "C: \ Benutzer \ ***** \ AppData \ Local \ Temp \ 14384 $ System.Web.Mvc.dll $ v4.0.30319 $ NoDynamic" aber seine Methoden sind leer .. –
so wird der Code für die Controller-Klasse innerhalb der Link, die Sie bereitstellen, nicht standardmäßig in jedem neuen asp.net mvc-Projekte sein? –
Kannst du bitte darüber beraten? –