2009-05-13 7 views
0

las ich Multiple/single instance of Linq to SQL DataContext und http://www.west-wind.com/weblog/posts/246222.aspxLINQ Datacontext Lebensdauer Management für Web-Anwendung

ich eine Web-Anwendung zu entwickeln. In meinem blclass, dass viele Methoden, die eine Abfrage für die DB zu tun, in jedem und jede Methode, erkläre ich:

Dim db A New DemoDataClassesDataContext

eine neue Instanz von Datacontext für jeden zu schaffen Transaktion. Ich frage mich, ob dies ein Problem mit Leistung oder andere Probleme werden wird, die ich nicht bewusst bin. Ist das der richtige Weg?

Soll ich:

Dim db A New DemoDataClassesDataContext oder db Mit A New DemoDataClassesDataContext

ich, dass alle Objekte in .NET verstehe schließlich automatisch durch die automatische angeordnet sind, Müllsammler.

Die using-Anweisung dient dazu, das Objekt zu entfernen, sobald der Code zwischen der Anweisung ausgeführt wurde.

In diesem Blog-Eintrag http://lee.hdgreetings.com/2008/06/linq-datacontex.html sagt, dass „es im Allgemeinen nicht kritisch ist Entsorgen auf Datacontext zu nennen.

ich kein klares Bild habe noch darüber, wie die LINQ Datacontext liftime für die Web-Anwendung zu verwalten. Jeder Vorschlag wird sehr geschätzt.

Vielen Dank.

Antwort

-1

Die using-Anweisung ist von das Objekt zu entsorgen, sobald der Code zwischen der Anweisung ausgeführt wird.

Dies ist falsch. Die Verwendung ruft schließlich das Objekt auf, wenn der Code den verwendenden Gültigkeitsbereich verlässt. Dies ruft wiederum die zugrunde liegende Datenbankverbindung auf. Daher benötigen Sie die using-Anweisung, um sicherzustellen, dass die Datenbankverbindung geschlossen ist.

EDIT:

Sie eigentlich nicht nur für ein Datacontract entsorgen rufen müssen lange, wie Sie das gesamte Ergebnis aufzählen gesetzt, wie hier diskutiert: When should I dispose of a data context

+2

LINQ Daten Kontexte nicht (in der Regel) öffne Verbindungen. Siehe http://stackoverflow.com/questions/389822/when-should-i-dispose-of-a-data-context - und insbesondere den Teil, wo ich Matt Warren zitiere. –

+0

Hah, du lernst jeden Tag etwas. Ich denke, die Verwendung von Einwegprodukten ist in diesem Fall wegwerfbar. –

Verwandte Themen